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() { } _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits