summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/ASTContext.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2009-07-29 16:09:57 +0000
committerDouglas Gregor <dgregor@apple.com>2009-07-29 16:09:57 +0000
commit0004417e81d881bffd7190ae6fd2ce3553363b3b (patch)
treedde1931f65e8eb0d706ecc89b3ecf268b45f723a /clang/lib/AST/ASTContext.cpp
parentea2f1ceb4b6d5f7552379f4e2ea6efb0b12f195c (diff)
downloadbcm5719-llvm-0004417e81d881bffd7190ae6fd2ce3553363b3b.tar.gz
bcm5719-llvm-0004417e81d881bffd7190ae6fd2ce3553363b3b.zip
Use the new statement/expression profiling code to unique dependent
template arguments, as in template specialization types. This permits matching out-of-line definitions of members for class templates that involve non-type template parameters. llvm-svn: 77462
Diffstat (limited to 'clang/lib/AST/ASTContext.cpp')
-rw-r--r--clang/lib/AST/ASTContext.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/clang/lib/AST/ASTContext.cpp b/clang/lib/AST/ASTContext.cpp
index 931010d9046..f3a417181e7 100644
--- a/clang/lib/AST/ASTContext.cpp
+++ b/clang/lib/AST/ASTContext.cpp
@@ -1682,7 +1682,7 @@ ASTContext::getTemplateSpecializationType(TemplateName Template,
// exists.
llvm::FoldingSetNodeID ID;
TemplateSpecializationType::Profile(ID, CanonTemplate,
- CanonArgs.data(), NumArgs);
+ CanonArgs.data(), NumArgs, *this);
void *InsertPos = 0;
TemplateSpecializationType *Spec
@@ -1693,7 +1693,7 @@ ASTContext::getTemplateSpecializationType(TemplateName Template,
void *Mem = Allocate((sizeof(TemplateSpecializationType) +
sizeof(TemplateArgument) * NumArgs),
8);
- Spec = new (Mem) TemplateSpecializationType(CanonTemplate,
+ Spec = new (Mem) TemplateSpecializationType(*this, CanonTemplate,
CanonArgs.data(), NumArgs,
QualType());
Types.push_back(Spec);
@@ -1713,7 +1713,8 @@ ASTContext::getTemplateSpecializationType(TemplateName Template,
sizeof(TemplateArgument) * NumArgs),
8);
TemplateSpecializationType *Spec
- = new (Mem) TemplateSpecializationType(Template, Args, NumArgs, Canon);
+ = new (Mem) TemplateSpecializationType(*this, Template, Args, NumArgs,
+ Canon);
Types.push_back(Spec);
return QualType(Spec, 0);
OpenPOWER on IntegriCloud