diff options
author | Aaron Ballman <aaron@aaronballman.com> | 2019-09-04 21:01:57 +0000 |
---|---|---|
committer | Aaron Ballman <aaron@aaronballman.com> | 2019-09-04 21:01:57 +0000 |
commit | 5cd5d56eedf9e0069f6d80ee5e44cd5d3bb2ec7d (patch) | |
tree | ad2660589a6b39b187661e47cc19e84a44fe1e78 /clang/lib/Parse/ParseDecl.cpp | |
parent | 48c6fadc0daceb3374d7cc1df1e99ffef4b89d4c (diff) | |
download | bcm5719-llvm-5cd5d56eedf9e0069f6d80ee5e44cd5d3bb2ec7d.tar.gz bcm5719-llvm-5cd5d56eedf9e0069f6d80ee5e44cd5d3bb2ec7d.zip |
Diagnose _Atomic as a C11 extension.
llvm-svn: 370982
Diffstat (limited to 'clang/lib/Parse/ParseDecl.cpp')
-rw-r--r-- | clang/lib/Parse/ParseDecl.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/lib/Parse/ParseDecl.cpp b/clang/lib/Parse/ParseDecl.cpp index d66c5390566..068964cbf85 100644 --- a/clang/lib/Parse/ParseDecl.cpp +++ b/clang/lib/Parse/ParseDecl.cpp @@ -3924,6 +3924,9 @@ void Parser::ParseDeclarationSpecifiers(DeclSpec &DS, // If the _Atomic keyword is immediately followed by a left parenthesis, // it is interpreted as a type specifier (with a type name), not as a // type qualifier. + if (!getLangOpts().C11) + Diag(Tok, diag::ext_c11_feature) << Tok.getName(); + if (NextToken().is(tok::l_paren)) { ParseAtomicSpecifier(DS); continue; @@ -5330,6 +5333,8 @@ void Parser::ParseTypeQualifierListOpt( case tok::kw__Atomic: if (!AtomicAllowed) goto DoneWithTypeQuals; + if (!getLangOpts().C11) + Diag(Tok, diag::ext_c11_feature) << Tok.getName(); isInvalid = DS.SetTypeQual(DeclSpec::TQ_atomic, Loc, PrevSpec, DiagID, getLangOpts()); break; |