aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Lewycky <nicholas@mxc.ca>2011-03-05 00:32:47 +0000
committerNick Lewycky <nicholas@mxc.ca>2011-03-05 00:32:47 +0000
commit4e43259267f1ca1cab95b40cbd324fb4e75252ac (patch)
tree78ea5c2e217e1659840cc18e2062c3d3d2be9b53
parent26cd44da98f3c5293243020b4cdfa7f49f68d1be (diff)
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
-rw-r--r--include/clang/Basic/DiagnosticGroups.td4
-rw-r--r--include/clang/Basic/DiagnosticSemaKinds.td2
2 files changed, 4 insertions, 2 deletions
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<CXX0x>;
+ "is a C++0x extension">, InGroup<CXX0xStaticNonIntegralInitializer>;
def err_in_class_initializer_non_constant : Error<
"in-class initializer is not a constant expression">;