summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2010-06-15 17:44:38 +0000
committerDouglas Gregor <dgregor@apple.com>2010-06-15 17:44:38 +0000
commit20527e2c8333da70c1a39c55bb383cda88489255 (patch)
tree6f3f95f0fa88186fcf2365e352290908dab6cbaf /clang/lib/Sema
parentde94e66234ae01281078c675096e37479cffa91f (diff)
downloadbcm5719-llvm-20527e2c8333da70c1a39c55bb383cda88489255.tar.gz
bcm5719-llvm-20527e2c8333da70c1a39c55bb383cda88489255.zip
Allocate template parameter lists for out-of-line definitions via the
ASTContext rather than via the normal heap. llvm-svn: 106008
Diffstat (limited to 'clang/lib/Sema')
-rw-r--r--clang/lib/Sema/SemaDecl.cpp9
-rw-r--r--clang/lib/Sema/SemaTemplate.cpp7
2 files changed, 10 insertions, 6 deletions
diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp
index 9ba3ee6ca40..d1818b813ce 100644
--- a/clang/lib/Sema/SemaDecl.cpp
+++ b/clang/lib/Sema/SemaDecl.cpp
@@ -2573,7 +2573,8 @@ Sema::ActOnVariableDeclarator(Scope* S, Declarator& D, DeclContext* DC,
SetNestedNameSpecifier(NewVD, D);
if (NumMatchedTemplateParamLists > 0) {
- NewVD->setTemplateParameterListsInfo(NumMatchedTemplateParamLists,
+ NewVD->setTemplateParameterListsInfo(Context,
+ NumMatchedTemplateParamLists,
(TemplateParameterList**)TemplateParamLists.release());
}
@@ -3151,7 +3152,8 @@ Sema::ActOnFunctionDeclarator(Scope* S, Declarator& D, DeclContext* DC,
}
if (NumMatchedTemplateParamLists > 0) {
- NewFD->setTemplateParameterListsInfo(NumMatchedTemplateParamLists,
+ NewFD->setTemplateParameterListsInfo(Context,
+ NumMatchedTemplateParamLists,
(TemplateParameterList**)TemplateParamLists.release());
}
@@ -5412,7 +5414,8 @@ CreateNewDecl:
= static_cast<NestedNameSpecifier*>(SS.getScopeRep());
New->setQualifierInfo(NNS, SS.getRange());
if (NumMatchedTemplateParamLists > 0) {
- New->setTemplateParameterListsInfo(NumMatchedTemplateParamLists,
+ New->setTemplateParameterListsInfo(Context,
+ NumMatchedTemplateParamLists,
(TemplateParameterList**) TemplateParameterLists.release());
}
}
diff --git a/clang/lib/Sema/SemaTemplate.cpp b/clang/lib/Sema/SemaTemplate.cpp
index 21d5702ea25..234665c4aa7 100644
--- a/clang/lib/Sema/SemaTemplate.cpp
+++ b/clang/lib/Sema/SemaTemplate.cpp
@@ -3868,7 +3868,8 @@ Sema::ActOnClassTemplateSpecialization(Scope *S, unsigned TagSpec,
SequenceNumber);
SetNestedNameSpecifier(Partial, SS);
if (NumMatchedTemplateParamLists > 0) {
- Partial->setTemplateParameterListsInfo(NumMatchedTemplateParamLists,
+ Partial->setTemplateParameterListsInfo(Context,
+ NumMatchedTemplateParamLists,
(TemplateParameterList**) TemplateParameterLists.release());
}
@@ -3929,8 +3930,8 @@ Sema::ActOnClassTemplateSpecialization(Scope *S, unsigned TagSpec,
PrevDecl);
SetNestedNameSpecifier(Specialization, SS);
if (NumMatchedTemplateParamLists > 0) {
- Specialization->setTemplateParameterListsInfo(
- NumMatchedTemplateParamLists,
+ Specialization->setTemplateParameterListsInfo(Context,
+ NumMatchedTemplateParamLists,
(TemplateParameterList**) TemplateParameterLists.release());
}
OpenPOWER on IntegriCloud