mizvekov updated this revision to Diff 439241.
mizvekov added a comment.
rebase
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D127351/new/
https://reviews.llvm.org/D127351
Files:
clang/include/clang/Sema/Template.h
clang/lib/Sema/SemaTemplateIn
mizvekov updated this revision to Diff 437905.
mizvekov added a comment.
rebase
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D127351/new/
https://reviews.llvm.org/D127351
Files:
clang/include/clang/Sema/Template.h
clang/lib/Sema/SemaTemplateIn
mizvekov added inline comments.
Comment at: clang/lib/Sema/SemaTemplateInstantiate.cpp:1872
QualType Result = getSema().Context.getTemplateTypeParmType(
- T->getDepth() - TemplateArgs.getNumSubstitutedLevels(), T->getIndex(),
- T->isParameterPack(), NewTTPDecl);
+
mizvekov updated this revision to Diff 436155.
mizvekov added a comment.
- much smaller patch, puts the new flag as a mutable member of
MultiLevelTemplateArgumentList
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D127351/new/
https://reviews.llvm.o
mizvekov added inline comments.
Comment at: clang/lib/Sema/SemaTemplateInstantiate.cpp:1872
QualType Result = getSema().Context.getTemplateTypeParmType(
- T->getDepth() - TemplateArgs.getNumSubstitutedLevels(), T->getIndex(),
- T->isParameterPack(), NewTTPDecl);
+
mizvekov added inline comments.
Comment at: clang/lib/Sema/SemaTemplateInstantiate.cpp:1872
QualType Result = getSema().Context.getTemplateTypeParmType(
- T->getDepth() - TemplateArgs.getNumSubstitutedLevels(), T->getIndex(),
- T->isParameterPack(), NewTTPDecl);
+
rsmith added inline comments.
Comment at: clang/lib/Sema/SemaTemplateInstantiate.cpp:1872
QualType Result = getSema().Context.getTemplateTypeParmType(
- T->getDepth() - TemplateArgs.getNumSubstitutedLevels(), T->getIndex(),
- T->isParameterPack(), NewTTPDecl);
+
mizvekov added inline comments.
Comment at: clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:1060
LocalInstantiationScope Scope(SemaRef);
+ auto EarlySubstitutionScope = getEarlySubstitutionRAII();
mark
Repository:
rG LLVM Github Monorepo
CHANGES SINCE L
mizvekov added a comment.
@rsmith , I have marked the few spots where the change is meaningful.
Comment at: clang/include/clang/Sema/Template.h:488-497
+bool EarlySubstitution;
+
public:
TemplateDeclInstantiator(Sema &SemaRef, DeclContext *Owner,
-