llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-clang Author: Corentin Jabot (cor3ntin) <details> <summary>Changes</summary> This reverts commit 1529d35adbd6f13aa234a5f4cfd9ac0e28bdd338. There are two issues: - The change appear fairly disruptive so close to release (see comments on #<!-- -->208001) - there are false positives (see #<!-- -->218429) --- Full diff: https://github.com/llvm/llvm-project/pull/218638.diff 5 Files Affected: - (modified) clang/docs/ReleaseNotes.md (-5) - (modified) clang/include/clang/Basic/DiagnosticGroups.td (+1-1) - (modified) clang/test/Misc/warning-wall.c (-2) - (modified) clang/test/SemaCXX/warn-func-not-needed.cpp (+1-1) - (modified) clang/test/SemaCXX/warn-variable-not-needed.cpp (+1-1) ``````````diff diff --git a/clang/docs/ReleaseNotes.md b/clang/docs/ReleaseNotes.md index 64979e07021dc..ef99667d817e3 100644 --- a/clang/docs/ReleaseNotes.md +++ b/clang/docs/ReleaseNotes.md @@ -237,11 +237,6 @@ features cannot lower the translation-unit ABI level; allowing it to be disabled independently with `-Wno-unused-but-set-global`. (#GH148361) -- `-Wunused-template` is now part of `-Wunused` (which is enabled by `-Wall`). - It diagnoses unused function and variable templates with internal linkage, - which in a header is a latent ODR hazard. It can be disabled with - `-Wno-unused-template`. (#GH202945) - - Added `-Wlifetime-safety` to enable lifetime safety analysis, a CFG-based intra-procedural analysis that detects use-after-free and related temporal safety bugs. See the diff --git a/clang/include/clang/Basic/DiagnosticGroups.td b/clang/include/clang/Basic/DiagnosticGroups.td index 9ee0b61a96a32..5403fadccd5d2 100644 --- a/clang/include/clang/Basic/DiagnosticGroups.td +++ b/clang/include/clang/Basic/DiagnosticGroups.td @@ -1376,7 +1376,7 @@ def Conversion def Unused : DiagGroup<"unused", [UnusedArgument, UnusedFunction, UnusedLabel, // UnusedParameter, (matches GCC's behavior) - UnusedTemplate, + // UnusedTemplate, (clean-up libc++ before enabling) // UnusedMemberFunction, (clean-up llvm before enabling) UnusedPrivateField, UnusedLambdaCapture, UnusedLocalTypedef, UnusedValue, UnusedVariable, diff --git a/clang/test/Misc/warning-wall.c b/clang/test/Misc/warning-wall.c index ade9cbaace77e..6d6c4e562400f 100644 --- a/clang/test/Misc/warning-wall.c +++ b/clang/test/Misc/warning-wall.c @@ -73,8 +73,6 @@ CHECK-NEXT: -Wunused-argument CHECK-NEXT: -Wunused-function CHECK-NEXT: -Wunneeded-internal-declaration CHECK-NEXT: -Wunused-label -CHECK-NEXT: -Wunused-template -CHECK-NEXT: -Wunneeded-internal-declaration CHECK-NEXT: -Wunused-private-field CHECK-NEXT: -Wunused-lambda-capture CHECK-NEXT: -Wunused-local-typedef diff --git a/clang/test/SemaCXX/warn-func-not-needed.cpp b/clang/test/SemaCXX/warn-func-not-needed.cpp index 74438543c43b7..cb3cae4cd6c76 100644 --- a/clang/test/SemaCXX/warn-func-not-needed.cpp +++ b/clang/test/SemaCXX/warn-func-not-needed.cpp @@ -10,7 +10,7 @@ void foo() { } namespace test1_template { -template <typename T> static void f() {} // expected-warning {{unused function template}} +template <typename T> static void f() {} template <> void f<int>() {} // expected-warning {{function 'f<int>' is not needed and will not be emitted}} template <typename T> void foo() { diff --git a/clang/test/SemaCXX/warn-variable-not-needed.cpp b/clang/test/SemaCXX/warn-variable-not-needed.cpp index d234e9140e3fd..272c8998d15c0 100644 --- a/clang/test/SemaCXX/warn-variable-not-needed.cpp +++ b/clang/test/SemaCXX/warn-variable-not-needed.cpp @@ -4,7 +4,7 @@ namespace test1 { static int abc = 42; // expected-warning {{variable 'abc' is not needed and will not be emitted}} namespace { - template <typename T> int abc_template = 0; // expected-warning {{unused variable template}} + template <typename T> int abc_template = 0; template <> int abc_template<int> = 0; // expected-warning {{variable 'abc_template<int>' is not needed and will not be emitted}} } // namespace template <typename T> `````````` </details> https://github.com/llvm/llvm-project/pull/218638 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
