diff options
author | Nick Desaulniers <ndesaulniers@google.com> | 2018-10-03 23:09:29 +0000 |
---|---|---|
committer | Nick Desaulniers <ndesaulniers@google.com> | 2018-10-03 23:09:29 +0000 |
commit | 150ca5309e7c321689527a60e6e7b8d636f20a79 (patch) | |
tree | 801d714dfab9f296b4f87a9c7a002b6b554eb559 /clang/lib/Sema/DeclSpec.cpp | |
parent | 5d461c96bdbcc82f4fd6eeef88633f6f6c06c650 (diff) | |
download | bcm5719-llvm-150ca5309e7c321689527a60e6e7b8d636f20a79.tar.gz bcm5719-llvm-150ca5309e7c321689527a60e6e7b8d636f20a79.zip |
[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/Sema/DeclSpec.cpp')
-rw-r--r-- | clang/lib/Sema/DeclSpec.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/clang/lib/Sema/DeclSpec.cpp b/clang/lib/Sema/DeclSpec.cpp index b22eea2b364..ea8c4ec40d8 100644 --- a/clang/lib/Sema/DeclSpec.cpp +++ b/clang/lib/Sema/DeclSpec.cpp @@ -438,7 +438,7 @@ template <class T> static bool BadSpecifier(T TNew, T TPrev, if (TNew != TPrev) DiagID = diag::err_invalid_decl_spec_combination; else - DiagID = IsExtension ? diag::ext_duplicate_declspec : + DiagID = IsExtension ? diag::ext_warn_duplicate_declspec : diag::warn_duplicate_declspec; return true; } @@ -967,7 +967,7 @@ bool DeclSpec::setModulePrivateSpec(SourceLocation Loc, const char *&PrevSpec, unsigned &DiagID) { if (isModulePrivateSpecified()) { PrevSpec = "__module_private__"; - DiagID = diag::ext_duplicate_declspec; + DiagID = diag::ext_warn_duplicate_declspec; return true; } |