From: Nick Lewycky Date: Sat, 5 Mar 2011 00:32:47 +0000 (+0000) Subject: Give warnings about static initializers of non-integral type their own warning X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4e43259267f1ca1cab95b40cbd324fb4e75252ac;p=clang Give warnings about static initializers of non-integral type their own warning 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 --- diff --git a/include/clang/Basic/DiagnosticGroups.td b/include/clang/Basic/DiagnosticGroups.td index a7af8cd3d7..33d5016ffb 100644 --- a/include/clang/Basic/DiagnosticGroups.td +++ b/include/clang/Basic/DiagnosticGroups.td @@ -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]>; diff --git a/include/clang/Basic/DiagnosticSemaKinds.td b/include/clang/Basic/DiagnosticSemaKinds.td index f661bdb274..df43a7e9d0 100644 --- a/include/clang/Basic/DiagnosticSemaKinds.td +++ b/include/clang/Basic/DiagnosticSemaKinds.td @@ -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; + "is a C++0x extension">, InGroup; def err_in_class_initializer_non_constant : Error< "in-class initializer is not a constant expression">;