[PATCH] D81825: [Clang] Add support for -Wno-inline-namespace-reopened-noninline

Elvina Yakubova via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 15 01:36:15 PDT 2020


Elvina created this revision.
Elvina added reviewers: rsmith, doug.gregor, CornedBee.
Elvina added a project: clang.
Herald added subscribers: cfe-commits, dexonsmith.
Elvina removed rG LLVM Github Monorepo as the repository for this revision.
Elvina retitled this revision from "Add support for -Wno-inline-namespace-reopened-noninline" to "[Clang] Add support for -Wno-inline-namespace-reopened-noninline".

This patch adds the option for disabling warn_inline_namespace_reopened_noninline warning described here: https://bugs.llvm.org/show_bug.cgi?id=46106


https://reviews.llvm.org/D81825

Files:
  clang/include/clang/Basic/DiagnosticGroups.td
  clang/include/clang/Basic/DiagnosticSemaKinds.td
  clang/test/SemaCXX/warn-inline-namespace-reopened-noninline-disable.cpp


Index: clang/test/SemaCXX/warn-inline-namespace-reopened-noninline-disable.cpp
===================================================================
--- /dev/null
+++ clang/test/SemaCXX/warn-inline-namespace-reopened-noninline-disable.cpp
@@ -0,0 +1,11 @@
+// RUN: %clang_cc1 -fsyntax-only -Wall -verify -std=c++11 %s
+// RUN: %clang_cc1 -fsyntax-only -Wall -Wno-inline-namespace-reopened-noninline -DSILENCE -verify -std=c++11 %s
+
+namespace X {
+  inline namespace {}
+  #ifndef SILENCE
+    namespace {} // expected-warning {{inline namespace reopened as a non-inline namespace}}
+  #else
+    namespace {} // expected-no-diagnostics
+  #endif
+}
Index: clang/include/clang/Basic/DiagnosticSemaKinds.td
===================================================================
--- clang/include/clang/Basic/DiagnosticSemaKinds.td
+++ clang/include/clang/Basic/DiagnosticSemaKinds.td
@@ -1411,7 +1411,8 @@
   DefaultIgnore, InGroup<CXXPre17Compat>;
 
 def warn_inline_namespace_reopened_noninline : Warning<
-  "inline namespace reopened as a non-inline namespace">;
+  "inline namespace reopened as a non-inline namespace">,
+  InGroup<InlineNamespaceReopenedNoninline>;
 def err_inline_namespace_mismatch : Error<
   "non-inline namespace cannot be reopened as inline">;
 
Index: clang/include/clang/Basic/DiagnosticGroups.td
===================================================================
--- clang/include/clang/Basic/DiagnosticGroups.td
+++ clang/include/clang/Basic/DiagnosticGroups.td
@@ -382,6 +382,8 @@
 def PrivateModule : DiagGroup<"private-module">;
 
 def CXX11InlineNamespace : DiagGroup<"c++11-inline-namespace">;
+def InlineNamespaceReopenedNoninline
+    : DiagGroup<"inline-namespace-reopened-noninline">;
 def InvalidNoreturn : DiagGroup<"invalid-noreturn">;
 def InvalidSourceEncoding : DiagGroup<"invalid-source-encoding">;
 def KNRPromotedParameter : DiagGroup<"knr-promoted-parameter">;


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D81825.270672.patch
Type: text/x-patch
Size: 1909 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200615/0abe7978/attachment.bin>


More information about the llvm-commits mailing list