aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Parse/ParseDecl.cpp
diff options
context:
space:
mode:
authorNick Desaulniers <ndesaulniers@google.com>2018-10-03 23:09:29 +0000
committerNick Desaulniers <ndesaulniers@google.com>2018-10-03 23:09:29 +0000
commit150ca5309e7c321689527a60e6e7b8d636f20a79 (patch)
tree801d714dfab9f296b4f87a9c7a002b6b554eb559 /clang/lib/Parse/ParseDecl.cpp
parent5d461c96bdbcc82f4fd6eeef88633f6f6c06c650 (diff)
downloadllvm-150ca5309e7c321689527a60e6e7b8d636f20a79.zip
llvm-150ca5309e7c321689527a60e6e7b8d636f20a79.tar.gz
llvm-150ca5309e7c321689527a60e6e7b8d636f20a79.tar.bz2
[SEMA] split ExtWarn dupl-decl-spec's into Extension and ExtWarn
Summary: For types deduced from typedef's and typeof's, don't warn for duplicate declaration specifiers in C90 unless -pedantic. Create a third diagnostic type for duplicate declaration specifiers. Previously, we had an ExtWarn and a Warning. This change adds a third, Extension, which only warns when -pedantic is set, staying silent otherwise. Fixes PR32985. Reviewers: rsmith Reviewed By: rsmith Subscribers: srhines, cfe-commits Differential Revision: https://reviews.llvm.org/D52849 llvm-svn: 343740
Diffstat (limited to 'clang/lib/Parse/ParseDecl.cpp')
-rw-r--r--clang/lib/Parse/ParseDecl.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/Parse/ParseDecl.cpp b/clang/lib/Parse/ParseDecl.cpp
index bbcc860..643ddfa 100644
--- a/clang/lib/Parse/ParseDecl.cpp
+++ b/clang/lib/Parse/ParseDecl.cpp
@@ -3838,7 +3838,8 @@ void Parser::ParseDeclarationSpecifiers(DeclSpec &DS,
assert(PrevSpec && "Method did not return previous specifier!");
assert(DiagID);
- if (DiagID == diag::ext_duplicate_declspec)
+ if (DiagID == diag::ext_duplicate_declspec ||
+ DiagID == diag::ext_warn_duplicate_declspec)
Diag(Tok, DiagID)
<< PrevSpec << FixItHint::CreateRemoval(Tok.getLocation());
else if (DiagID == diag::err_opencl_unknown_type_specifier) {