[1/2] Disallow -gno-dwarf, gno-dwarf-N, -gno-gdb and -gno-vms
Checks
Commit Message
The following adds RejectNegative to the gdwarf, gdwarf-, ggdb and gvms
options since the current behavior is to treat the negative variant
the same as the positive variant. In particular -ggdb -gno-gdb
do not cancel, and plain -gno-dwarf will enable (dwarf!) debug output.
Rejecting the negative forms avoids interpreting sensible behavior
to combinations of options like -gdwarf-5 -gno-dwarf-3 and sticks to
the behavior that later -g options simply override earlier ones and
the only negative form is -g0.
Bootstrapped and tested on x86_64-unknown-linux-gnu, OK?
Thanks,
Richard.
* common.opt (gdwarf): Add RejectNegative.
(gdwarf-): Likewise.
(ggdb): Likewise.
(gvms): Likewise.
---
gcc/common.opt | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
Comments
On Fri, 24 Mar 2023, Richard Biener via Gcc-patches wrote:
> The following adds RejectNegative to the gdwarf, gdwarf-, ggdb and gvms
> options since the current behavior is to treat the negative variant
> the same as the positive variant. In particular -ggdb -gno-gdb
> do not cancel, and plain -gno-dwarf will enable (dwarf!) debug output.
>
> Rejecting the negative forms avoids interpreting sensible behavior
> to combinations of options like -gdwarf-5 -gno-dwarf-3 and sticks to
> the behavior that later -g options simply override earlier ones and
> the only negative form is -g0.
>
> Bootstrapped and tested on x86_64-unknown-linux-gnu, OK?
OK.
@@ -3349,11 +3349,11 @@ Common Driver RejectNegative JoinedOrMissing
Generate BTF debug information at default level.
gdwarf
-Common Driver JoinedOrMissing Negative(gdwarf-)
+Common Driver JoinedOrMissing Negative(gdwarf-) RejectNegative
Generate debug information in default version of DWARF format.
gdwarf-
-Common Driver Joined UInteger Var(dwarf_version) Init(DWARF_VERSION_DEFAULT)
+Common Driver Joined UInteger Var(dwarf_version) Init(DWARF_VERSION_DEFAULT) RejectNegative
Generate debug information in DWARF v2 (or later) format.
gdwarf32
@@ -3365,7 +3365,7 @@ Common Driver Var(dwarf_offset_size,8) RejectNegative
Use 64-bit DWARF format when emitting DWARF debug information.
ggdb
-Common Driver JoinedOrMissing
+Common Driver JoinedOrMissing RejectNegative
Generate debug information in default extended format.
ginline-points
@@ -3432,7 +3432,7 @@ gvariable-location-views=incompat5
Common Driver RejectNegative Var(debug_variable_location_views, -1) Init(2)
gvms
-Common Driver JoinedOrMissing
+Common Driver JoinedOrMissing RejectNegative
Generate debug information in VMS format.
gxcoff