[all-commits] [llvm/llvm-project] a6308c: When performing a substitution into a dependent al...
Richard Smith via All-commits
all-commits at lists.llvm.org
Tue Jun 23 14:44:03 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: a6308c0ad954a08645d9abf0a5e77dc488b8ca28
https://github.com/llvm/llvm-project/commit/a6308c0ad954a08645d9abf0a5e77dc488b8ca28
Author: Richard Smith <richard at metafoo.co.uk>
Date: 2020-06-23 (Tue, 23 Jun 2020)
Changed paths:
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/AST/ast-dump-openmp-begin-declare-variant_template_1.cpp
M clang/test/SemaTemplate/alias-templates.cpp
M clang/test/SemaTemplate/deduction-guide.cpp
M clang/unittests/AST/ASTTraverserTest.cpp
Log Message:
-----------
When performing a substitution into a dependent alias template, mark the
outer levels as retained rather than omitting their arguments.
This better reflects what's going on (we're performing a substitution
while still inside a template), and in theory is more correct, but I've
not found a testcase where it matters in practice (largely because we
don't allow alias templates to be declared inside a function).
Fixed AST dumping of SubstNonTypeTemplateParm[Pack]Expr to demonstrate
that we're properly substituting through dependent alias templates. (We
can't deduce properly through these yet, but we can at least produce the
right input to template argument deduction.)
No functionality change intended.
More information about the All-commits
mailing list