Message ID | 87ee2l9knf.fsf@euler.schwinge.homeip.net |
---|---|
State | New |
Headers | show |
Series | options: Remove 'gcc/c-family/c.opt:Wuse-after-free' option definition record (was: [PATCH v2 1/2] add -Wuse-after-free) | expand |
On 3/29/22 03:24, Thomas Schwinge wrote: > Hi! > > On 2022-01-15T17:00:11-0700, Martin Sebor via Gcc-patches <gcc-patches@gcc.gnu.org> wrote: >> On 1/11/22 15:40, Jason Merrill wrote: >>> On 11/30/21 17:32, Martin Sebor via Gcc-patches wrote: >>>> [default setting of the option] > >>> Let's put =2 in -Wall for now. > >> I've adjusted [...] and pushed r12-6605 [...] > > That's from commit 671a283636de75f7ed638ee6b01ed2d44361b8b6 > "Add -Wuse-after-free [PR80532]": > > | --- gcc/common.opt > | +++ gcc/common.opt > | [...] > | +Wuse-after-free > | +Common Var(warn_use_after_free) Warning > | +Warn for uses of pointers to deallocated strorage. > | + > | +Wuse-after-free= > | +Common Joined RejectNegative UInteger Var(warn_use_after_free) Warning IntegerRange(0, 3) > | +Warn for uses of pointers to deallocated strorage. > | [...] > > | --- gcc/c-family/c.opt > | +++ gcc/c-family/c.opt > | [...] > | +# Defining these options here in addition to common.opt is necessary > | +# in order for the default -Wall setting of -Wuse-after-free=2 to take > | +# effect. > | + > | +Wuse-after-free > | +LangEnabledBy(C ObjC C++ LTO ObjC++) > | +; in common.opt > | + > | +Wuse-after-free= > | +LangEnabledBy(C ObjC C++ LTO ObjC++, Wall,2,0) > | +; in common.opt > | [...] > > OK to push the attached "options: Remove > 'gcc/c-family/c.opt:Wuse-after-free' option definition record"? It's fine with me if it passes tests. I remember noticing a subtle distinction in how option aliases are sometimes treated in #pragma GCC diagnostic but not the exact details. I added tests to make sure it has the expected effect without the trailing =. See the comment in c-c++-common/Wuse-after-free.c. Thanks Martin > > > Grüße > Thomas > > > ----------------- > Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955
On Tue, 29 Mar 2022, Thomas Schwinge wrote: > | --- gcc/c-family/c.opt > | +++ gcc/c-family/c.opt > | [...] > | +# Defining these options here in addition to common.opt is necessary > | +# in order for the default -Wall setting of -Wuse-after-free=2 to take > | +# effect. > | + > | +Wuse-after-free > | +LangEnabledBy(C ObjC C++ LTO ObjC++) > | +; in common.opt > | + > | +Wuse-after-free= > | +LangEnabledBy(C ObjC C++ LTO ObjC++, Wall,2,0) > | +; in common.opt > | [...] > > OK to push the attached "options: Remove > 'gcc/c-family/c.opt:Wuse-after-free' option definition record"? OK.
From eda478e23a611611353d22e11727a797b9f321f9 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge <thomas@codesourcery.com> Date: Sat, 26 Mar 2022 22:07:54 +0100 Subject: [PATCH] options: Remove 'gcc/c-family/c.opt:Wuse-after-free' option definition record A one-argument form of the 'LangEnabledBy' option property isn't defined, and effectively appears to be a no-op. Removing that one, the 'gcc/c-family/c.opt:Wuse-after-free' option definition record becomes empty, and doesn't add anything over 'gcc/common.opt:Wuse-after-free', and may thus be removed entirely. This only changes 'build-gcc/gcc/optionlist' accordingly, but no other generated files. Clean-up after recent commit 671a283636de75f7ed638ee6b01ed2d44361b8b6 "Add -Wuse-after-free [PR80532]". gcc/c-family/ * c.opt (Wuse-after-free): Remove. --- gcc/c-family/c.opt | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/gcc/c-family/c.opt b/gcc/c-family/c.opt index 3c2ec7744b0..1034a1b3946 100644 --- a/gcc/c-family/c.opt +++ b/gcc/c-family/c.opt @@ -1373,14 +1373,10 @@ Wunused-const-variable= C ObjC C++ ObjC++ Joined RejectNegative UInteger Var(warn_unused_const_variable) Warning LangEnabledBy(C ObjC,Wunused-variable, 1, 0) IntegerRange(0, 2) Warn when a const variable is unused. -; Defining these options here in addition to common.opt is necessary +; Defining this option here in addition to common.opt is necessary ; in order for the default -Wall setting of -Wuse-after-free=2 to take ; effect. -Wuse-after-free -LangEnabledBy(C ObjC C++ LTO ObjC++) -; in common.opt - Wuse-after-free= LangEnabledBy(C ObjC C++ LTO ObjC++, Wall,2,0) ; in common.opt -- 2.25.1