summaryrefslogtreecommitdiffstats
path: root/clang/lib/Parse/ParseDeclCXX.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2011-05-05 22:36:10 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2011-05-05 22:36:10 +0000
commit14034026d6f1f45a4694e878a94089730be8ec5c (patch)
treef738969f50f2439664ae64e71ab0f12d383cfe72 /clang/lib/Parse/ParseDeclCXX.cpp
parentb79646cb2e9e969d3197b92cfdf4f740b00f0dc2 (diff)
downloadbcm5719-llvm-14034026d6f1f45a4694e878a94089730be8ec5c.tar.gz
bcm5719-llvm-14034026d6f1f45a4694e878a94089730be8ec5c.zip
Slight tweak to alias template error handling: don't guess that a template-id in an alias declaration was meant to be a specialization. Use a generic, but more accurate, diagnostic.
llvm-svn: 130961
Diffstat (limited to 'clang/lib/Parse/ParseDeclCXX.cpp')
-rw-r--r--clang/lib/Parse/ParseDeclCXX.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/Parse/ParseDeclCXX.cpp b/clang/lib/Parse/ParseDeclCXX.cpp
index ae6b3ff011e..9c464bc2485 100644
--- a/clang/lib/Parse/ParseDeclCXX.cpp
+++ b/clang/lib/Parse/ParseDeclCXX.cpp
@@ -396,7 +396,8 @@ Decl *Parser::ParseUsingDeclaration(unsigned Context,
// Type alias templates cannot be specialized.
int SpecKind = -1;
- if (Name.getKind() == UnqualifiedId::IK_TemplateId)
+ if (TemplateInfo.Kind == ParsedTemplateInfo::Template &&
+ Name.getKind() == UnqualifiedId::IK_TemplateId)
SpecKind = 0;
if (TemplateInfo.Kind == ParsedTemplateInfo::ExplicitSpecialization)
SpecKind = 1;
OpenPOWER on IntegriCloud