]> granicus.if.org Git - clang/commitdiff
Add "-Wc++11-inline-namespace" so that libc++ can use -pedantic in C++03.
authorEric Fiselier <eric@efcs.ca>
Fri, 16 Oct 2015 00:31:36 +0000 (00:31 +0000)
committerEric Fiselier <eric@efcs.ca>
Fri, 16 Oct 2015 00:31:36 +0000 (00:31 +0000)
Summary: The title says it all.

Reviewers: rsmith

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D13790

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

include/clang/Basic/DiagnosticGroups.td
include/clang/Basic/DiagnosticParseKinds.td

index 97c897f840e96f88aa082c466f6993d2e9234ea6..1f77181c6b615b9605e85a5a261f94bd72a5b66f 100644 (file)
@@ -217,6 +217,7 @@ def NonModularIncludeInModule : DiagGroup<"non-modular-include-in-module",
 def IncompleteModule : DiagGroup<"incomplete-module",
     [IncompleteUmbrella, NonModularIncludeInModule]>;
 
+def CXX11InlineNamespace : DiagGroup<"c++11-inline-namespace">;
 def InvalidNoreturn : DiagGroup<"invalid-noreturn">;
 def InvalidSourceEncoding : DiagGroup<"invalid-source-encoding">;
 def KNRPromotedParameter : DiagGroup<"knr-promoted-parameter">;
@@ -679,7 +680,8 @@ def NonGCC : DiagGroup<"non-gcc",
 
 // A warning group for warnings about using C++11 features as extensions in
 // earlier C++ versions.
-def CXX11 : DiagGroup<"c++11-extensions", [CXX11ExtraSemi, CXX11LongLong]>;
+def CXX11 : DiagGroup<"c++11-extensions", [CXX11ExtraSemi, CXX11InlineNamespace,
+                                           CXX11LongLong]>;
 
 // A warning group for warnings about using C++14 features as extensions in
 // earlier C++ versions.
index 291eca2d717e107d71ab81193568b21e3863bd75..2e51aa97a4e5a57f2061a6e9be4dcc4aa7504ee1 100644 (file)
@@ -271,7 +271,7 @@ def warn_cxx98_compat_ref_qualifier : Warning<
   "reference qualifiers on functions are incompatible with C++98">,
   InGroup<CXX98Compat>, DefaultIgnore;
 def ext_inline_namespace : ExtWarn<
-  "inline namespaces are a C++11 feature">, InGroup<CXX11>;
+  "inline namespaces are a C++11 feature">, InGroup<CXX11InlineNamespace>;
 def warn_cxx98_compat_inline_namespace : Warning<
   "inline namespaces are incompatible with C++98">,
   InGroup<CXX98Compat>, DefaultIgnore;