summaryrefslogtreecommitdiffstats
path: root/clang/lib/Parse/ParseDeclCXX.cpp
diff options
context:
space:
mode:
authorAaron Ballman <aaron@aaronballman.com>2014-08-04 20:28:35 +0000
committerAaron Ballman <aaron@aaronballman.com>2014-08-04 20:28:35 +0000
commite7c544d38800e246dd675db70653a34e104d75bd (patch)
treef1e0f5d2e8c656e595ed279ad14d852657b66d47 /clang/lib/Parse/ParseDeclCXX.cpp
parent6e842b34a07b16196b05dcd1902c0bfabeeaf113 (diff)
downloadbcm5719-llvm-e7c544d38800e246dd675db70653a34e104d75bd.tar.gz
bcm5719-llvm-e7c544d38800e246dd675db70653a34e104d75bd.zip
A static_assert declaration cannot be a template; adding the diagnostic for this instead of silently accepting and producing possibly-unexpected behavior.
llvm-svn: 214770
Diffstat (limited to 'clang/lib/Parse/ParseDeclCXX.cpp')
-rw-r--r--clang/lib/Parse/ParseDeclCXX.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/clang/lib/Parse/ParseDeclCXX.cpp b/clang/lib/Parse/ParseDeclCXX.cpp
index 7baa6684e27..f5ce708a97a 100644
--- a/clang/lib/Parse/ParseDeclCXX.cpp
+++ b/clang/lib/Parse/ParseDeclCXX.cpp
@@ -2075,9 +2075,10 @@ void Parser::ParseCXXClassMemberDeclaration(AccessSpecifier AS,
}
}
- // static_assert-declaration
- if (Tok.is(tok::kw_static_assert) || Tok.is(tok::kw__Static_assert)) {
- // FIXME: Check for templates
+ // static_assert-declaration. A templated static_assert declaration is
+ // diagnosed in Parser::ParseSingleDeclarationAfterTemplate.
+ if (!TemplateInfo.Kind &&
+ (Tok.is(tok::kw_static_assert) || Tok.is(tok::kw__Static_assert))) {
SourceLocation DeclEnd;
ParseStaticAssertDeclaration(DeclEnd);
return;
OpenPOWER on IntegriCloud