summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaCXXScopeSpec.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2013-12-04 00:47:45 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2013-12-04 00:47:45 +0000
commitf95fe9b870e6b459d69b87b34621579752bc0bbe (patch)
tree2c00f55f3de25c8588be0f49af14d30ff8fa33e3 /clang/lib/Sema/SemaCXXScopeSpec.cpp
parent17e0d9ee6cc7668d6dc4d7b14789a07bf6e0cd75 (diff)
downloadbcm5719-llvm-f95fe9b870e6b459d69b87b34621579752bc0bbe.tar.gz
bcm5719-llvm-f95fe9b870e6b459d69b87b34621579752bc0bbe.zip
Fix crash if a variable template specialization is used in a nested-name-specifier.
llvm-svn: 196335
Diffstat (limited to 'clang/lib/Sema/SemaCXXScopeSpec.cpp')
-rw-r--r--clang/lib/Sema/SemaCXXScopeSpec.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/clang/lib/Sema/SemaCXXScopeSpec.cpp b/clang/lib/Sema/SemaCXXScopeSpec.cpp
index 13c9993bf4c..58bde02d602 100644
--- a/clang/lib/Sema/SemaCXXScopeSpec.cpp
+++ b/clang/lib/Sema/SemaCXXScopeSpec.cpp
@@ -775,15 +775,15 @@ bool Sema::ActOnCXXNestedNameSpecifier(Scope *S,
return false;
}
- // FIXME: Variable templates
+ TemplateDecl *TD = Template.get().getAsTemplateDecl();
if (Template.get().getAsOverloadedTemplate() || DTN ||
- isa<FunctionTemplateDecl>(Template.get().getAsTemplateDecl())) {
+ isa<FunctionTemplateDecl>(TD) || isa<VarTemplateDecl>(TD)) {
SourceRange R(TemplateNameLoc, RAngleLoc);
if (SS.getRange().isValid())
R.setBegin(SS.getRange().getBegin());
Diag(CCLoc, diag::err_non_type_template_in_nested_name_specifier)
- << Template.get() << R;
+ << (TD && isa<VarTemplateDecl>(TD)) << Template.get() << R;
NoteAllFoundTemplates(Template.get());
return true;
}
OpenPOWER on IntegriCloud