[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