diff options
author | Nico Weber <nicolasweber@gmx.de> | 2015-07-28 02:37:37 +0000 |
---|---|---|
committer | Nico Weber <nicolasweber@gmx.de> | 2015-07-28 02:37:37 +0000 |
commit | cadcba37e290428e07dd7eccc99b6b6a05c95b81 (patch) | |
tree | cb48b89ef7f2a6d2729ca7602020baa5bb1ab891 /include/clang/Basic/DiagnosticLexKinds.td | |
parent | cd3d8023a943a3bf37dad8d6aab23a45260e83ef (diff) |
Split -Wmicrosoft into many specific warnings.
Also move "pragma comment" warning from -Wmicrosoft to -Wignored-pragmas.
-Wmicrosoft currently covers many different areas, some more useful than
others. Split it into many targeted flags, so that projects can choose to
enable only a subset of these warnings. This is also useful for incrementally
fixing and turning on these warnings.
-Wno-microsoft still disables all these warnings, and -Wmicrosoft still enables
them all. After this change, it's possible to pass `-Wno-microsoft
-Wmicrosoft-unqualified-friend` to only enable -Wmicrosoft-unqualified-friend,
and `-Wmicrosoft -Wno-microsoft-unqualified-friend` to enable all other
Microsoft warnings.
I put all the template-related warnings behind -Wmicrosoft-template; if that
turns out to be too coarse we can make that finer later on. (In practice, I
haven't seen the template-related warnings fire frequently.)
Reviewed at http://reviews.llvm.org/D11504
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243371 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Basic/DiagnosticLexKinds.td')
-rw-r--r-- | include/clang/Basic/DiagnosticLexKinds.td | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/include/clang/Basic/DiagnosticLexKinds.td b/include/clang/Basic/DiagnosticLexKinds.td index 5dd4ae0ac7..6e7a50d7c0 100644 --- a/include/clang/Basic/DiagnosticLexKinds.td +++ b/include/clang/Basic/DiagnosticLexKinds.td @@ -57,8 +57,9 @@ def warn_cxx98_compat_no_newline_eof : Warning< def ext_dollar_in_identifier : Extension<"'$' in identifier">, InGroup<DiagGroup<"dollar-in-identifier-extension">>; -def ext_charize_microsoft : Extension<"charizing operator #@ is a Microsoft extension">, - InGroup<Microsoft>; +def ext_charize_microsoft : Extension< + "charizing operator #@ is a Microsoft extension">, + InGroup<MicrosoftCharize>; def ext_token_used : Extension<"extension used">, InGroup<DiagGroup<"language-extension-token">>; @@ -510,7 +511,7 @@ def ext_pp_bad_paste_ms : ExtWarn< def err_pp_operator_used_as_macro_name : Error< "C++ operator %0 (aka %1) used as a macro name">; def ext_pp_operator_used_as_macro_name : Extension< - "C++ operator %0 (aka %1) used as a macro name">, InGroup<Microsoft>; + err_pp_operator_used_as_macro_name.Text>, InGroup<MicrosoftCppMacro>; def err_pp_illegal_floating_literal : Error< "floating point literal in preprocessor expression">; def err_pp_line_requires_integer : Error< |