]> granicus.if.org Git - clang/commitdiff
Give warnings about static initializers of non-integral type their own warning
authorNick Lewycky <nicholas@mxc.ca>
Sat, 5 Mar 2011 00:32:47 +0000 (00:32 +0000)
committerNick Lewycky <nicholas@mxc.ca>
Sat, 5 Mar 2011 00:32:47 +0000 (00:32 +0000)
flag so it can be individually controlled. The new flag is
  -Wc++0x-static-nonintegral-init.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127050 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Basic/DiagnosticGroups.td
include/clang/Basic/DiagnosticSemaKinds.td

index a7af8cd3d7cd9041ef231219dd68163412b47663..33d5016ffb6cdd13e5d295743ad4d863be7f5ec3 100644 (file)
@@ -254,7 +254,9 @@ def NonGCC : DiagGroup<"non-gcc",
 
 // A warning group for warnings about using C++0x features as extensions in
 // earlier C++ versions.
-def CXX0x : DiagGroup<"c++0x-extensions">;
+def CXX0xStaticNonIntegralInitializer :
+  DiagGroup<"c++0x-static-nonintegral-init">;
+def CXX0x : DiagGroup<"c++0x-extensions", [CXX0xStaticNonIntegralInitializer]>;
 
 // A warning group for warnings about GCC extensions.
 def GNU : DiagGroup<"gnu", [GNUDesignator, VLA]>;
index f661bdb2743b28ff87e3346f663074f397d98088..df43a7e9d01168e9b4b7302762359fe8dd98e6c4 100644 (file)
@@ -3300,7 +3300,7 @@ def err_in_class_initializer_bad_type : Error<
   "static data member of type %0 must be initialized out of line">;
 def ext_in_class_initializer_float_type : ExtWarn<
   "in-class initializer for static data member of type %0 "
-  "is a C++0x extension">, InGroup<CXX0x>;
+  "is a C++0x extension">, InGroup<CXX0xStaticNonIntegralInitializer>;
 def err_in_class_initializer_non_constant : Error<
   "in-class initializer is not a constant expression">;