Revert "When performing a substitution into a dependent alias template, mark the"
authorRichard Smith <richard@metafoo.co.uk>
Wed, 17 Jun 2020 23:07:58 +0000 (16:07 -0700)
committerRichard Smith <richard@metafoo.co.uk>
Wed, 17 Jun 2020 23:07:58 +0000 (16:07 -0700)
This change depends on reverted change c7fbe2191b8b9cd64570ed3906d1bed1dd5fff8e.

This reverts commit c851d6cf4a4ab803d01d0059f4659f4f9f4435ea.

clang/lib/Sema/SemaTemplate.cpp

index 3292284..073b4e8 100644 (file)
@@ -3558,8 +3558,9 @@ QualType Sema::CheckTemplateIdType(TemplateName Name,
     // Only substitute for the innermost template argument list.
     MultiLevelTemplateArgumentList TemplateArgLists;
     TemplateArgLists.addOuterTemplateArguments(&StackTemplateArgs);
-    TemplateArgLists.addOuterRetainedLevels(
-        AliasTemplate->getTemplateParameters()->getDepth());
+    unsigned Depth = AliasTemplate->getTemplateParameters()->getDepth();
+    for (unsigned I = 0; I < Depth; ++I)
+      TemplateArgLists.addOuterTemplateArguments(None);
 
     LocalInstantiationScope Scope(*this);
     InstantiatingTemplate Inst(*this, TemplateLoc, Template);