diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2013-09-27 20:14:12 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2013-09-27 20:14:12 +0000 |
commit | 8809a0c95e7aa9e858f455bbb9a3f5a3c4ae96d3 (patch) | |
tree | 0902cddbb5d01a0a7cde1d63bbc6827b7a67ab6d /clang/lib/Sema/SemaTemplateInstantiate.cpp | |
parent | 23e43cdda610f04bfaec7d43958a1b1a8904113f (diff) | |
download | bcm5719-llvm-8809a0c95e7aa9e858f455bbb9a3f5a3c4ae96d3.tar.gz bcm5719-llvm-8809a0c95e7aa9e858f455bbb9a3f5a3c4ae96d3.zip |
Variable templates: handle instantiation of static data member templates
appropriately, especially when they appear within class templates.
llvm-svn: 191548
Diffstat (limited to 'clang/lib/Sema/SemaTemplateInstantiate.cpp')
-rw-r--r-- | clang/lib/Sema/SemaTemplateInstantiate.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaTemplateInstantiate.cpp b/clang/lib/Sema/SemaTemplateInstantiate.cpp index d85f7e4b1b8..32111bac3a4 100644 --- a/clang/lib/Sema/SemaTemplateInstantiate.cpp +++ b/clang/lib/Sema/SemaTemplateInstantiate.cpp @@ -2471,6 +2471,9 @@ Sema::InstantiateClassMembers(SourceLocation PointOfInstantiation, } } } else if (VarDecl *Var = dyn_cast<VarDecl>(*D)) { + if (isa<VarTemplateSpecializationDecl>(Var)) + continue; + if (Var->isStaticDataMember()) { MemberSpecializationInfo *MSInfo = Var->getMemberSpecializationInfo(); assert(MSInfo && "No member specialization information?"); |