[clang] 807e2f1 - Revert "Remove -Wweak-template-vtables"

Hans Wennborg via cfe-commits cfe-commits at lists.llvm.org
Mon Feb 7 07:52:34 PST 2022


Author: Hans Wennborg
Date: 2022-02-07T16:52:23+01:00
New Revision: 807e2f12fab52c6abf3e89c02eec0f585b3b8f22

URL: https://github.com/llvm/llvm-project/commit/807e2f12fab52c6abf3e89c02eec0f585b3b8f22
DIFF: https://github.com/llvm/llvm-project/commit/807e2f12fab52c6abf3e89c02eec0f585b3b8f22.diff

LOG: Revert "Remove -Wweak-template-vtables"

Turns out there's still some code referencing this. No harm in keeping it in a
bit longer.

> as it was planned for removal in clang 15 and we're now past the branch point
>
> See https://github.com/llvm/llvm-project/issues/19107
>
> Differential revision: https://reviews.llvm.org/D118762

This reverts commit 564f9be11c9cb8d131f48df07538fab7a19b41a7.

Added: 
    

Modified: 
    clang/docs/ReleaseNotes.rst
    clang/include/clang/Basic/DiagnosticSemaKinds.td
    clang/test/SemaCXX/warn-weak-vtables.cpp

Removed: 
    


################################################################################
diff  --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst
index e96d8dc2e38e6..8704b4f79cd88 100644
--- a/clang/docs/ReleaseNotes.rst
+++ b/clang/docs/ReleaseNotes.rst
@@ -67,9 +67,6 @@ Modified Compiler Flags
 Removed Compiler Flags
 -------------------------
 
-- -Wweak-template-vtables, which was deprecated in the previous release and no
-  longer had any effect, has been removed.
-
 New Pragmas in Clang
 --------------------
 

diff  --git a/clang/include/clang/Basic/DiagnosticSemaKinds.td b/clang/include/clang/Basic/DiagnosticSemaKinds.td
index 7f73b9b285e37..f9bfd343ac8d1 100644
--- a/clang/include/clang/Basic/DiagnosticSemaKinds.td
+++ b/clang/include/clang/Basic/DiagnosticSemaKinds.td
@@ -1651,6 +1651,9 @@ def warn_weak_vtable : Warning<
   "%0 has no out-of-line virtual method definitions; its vtable will be "
   "emitted in every translation unit">,
   InGroup<DiagGroup<"weak-vtables">>, DefaultIgnore;
+def warn_weak_template_vtable : Warning<
+  "this warning is no longer in use and will be removed in the next release">,
+  InGroup<DiagGroup<"weak-template-vtables">>, DefaultIgnore;
 
 def ext_using_undefined_std : ExtWarn<
   "using directive refers to implicitly-defined namespace 'std'">;

diff  --git a/clang/test/SemaCXX/warn-weak-vtables.cpp b/clang/test/SemaCXX/warn-weak-vtables.cpp
index 9355af50310d4..083209fa5e315 100644
--- a/clang/test/SemaCXX/warn-weak-vtables.cpp
+++ b/clang/test/SemaCXX/warn-weak-vtables.cpp
@@ -3,6 +3,9 @@
 // Check that this warning is disabled on MS ABI targets which don't have key
 // functions.
 // RUN: %clang_cc1 %s -fsyntax-only -triple %ms_abi_triple -Werror -Wweak-vtables
+//
+// -Wweak-template-vtables is deprecated but we still parse it.
+// RUN: %clang_cc1 %s -fsyntax-only -Werror -Wweak-template-vtables
 
 struct A { // expected-warning {{'A' has no out-of-line virtual method definitions; its vtable will be emitted in every translation unit}}
   virtual void f() { } 


        


More information about the cfe-commits mailing list