diff options
author | Nico Weber <nicolasweber@gmx.de> | 2011-12-23 20:58:04 +0000 |
---|---|---|
committer | Nico Weber <nicolasweber@gmx.de> | 2011-12-23 20:58:04 +0000 |
commit | d3bdadf616298fa91baebabfeebd491b6b9c40ce (patch) | |
tree | 8f088f81c1a57c1a9bbf16c470aee883fc013838 /clang/include | |
parent | 9b6b2e553524d59e496222c045ec0009a7188caf (diff) | |
download | bcm5719-llvm-d3bdadf616298fa91baebabfeebd491b6b9c40ce.tar.gz bcm5719-llvm-d3bdadf616298fa91baebabfeebd491b6b9c40ce.zip |
Fix several issues related to specializations and explicit instantiations.
Explicit instantiations following specializations are no-ops and hence have
no PointOfInstantiation. That was done correctly in most cases, but for a
specialization -> instantiation decl -> instantiation definition chain, the
definition didn't realize that it was a no-op. Fix that.
Also, when printing diagnostics for these no-ops, get the diag location from
the decl name location.
Add many test cases, one of them not yet passing (but it failed the same way
before this change). Fixes http://llvm.org/pr11558 and more.
llvm-svn: 147225
Diffstat (limited to 'clang/include')
-rw-r--r-- | clang/include/clang/AST/DeclTemplate.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/include/clang/AST/DeclTemplate.h b/clang/include/clang/AST/DeclTemplate.h index f6bc41a640e..fbf7b345acc 100644 --- a/clang/include/clang/AST/DeclTemplate.h +++ b/clang/include/clang/AST/DeclTemplate.h @@ -1607,7 +1607,7 @@ class ClassTemplatePartialSpecializationDecl public: static ClassTemplatePartialSpecializationDecl * - Create(ASTContext &Context, TagKind TK,DeclContext *DC, + Create(ASTContext &Context, TagKind TK, DeclContext *DC, SourceLocation StartLoc, SourceLocation IdLoc, TemplateParameterList *Params, ClassTemplateDecl *SpecializedTemplate, |