The option is now obsolete. Remove the remaining enum and update
common.opt to make it official.
gcc/ChangeLog:
* common.opt: Updated Wstrict-overflow entry to indicate that
it does nothing now.
* coretypes.h (enum warn_strict_overflow_code): Enum removed.
* opts.cc (common_handle_option): Removed OPT_Wstrict_overflow
logic.
---
gcc/common.opt | 2 +-
gcc/coretypes.h | 24 ------------------------
gcc/opts.cc | 4 +---
3 files changed, 2 insertions(+), 28 deletions(-)
diff --git a/gcc/common.opt b/gcc/common.opt
index 3ad1444cc88..9797118d187 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -782,7 +782,7 @@ Warn about code which might break strict aliasing rules.
Wstrict-overflow
Common Warning
-Warn about optimizations that assume that signed overflow is undefined.
+Does nothing. Preserved for backward compatibility.
Wstrict-overflow=
Common Joined RejectNegative UInteger Var(warn_strict_overflow) Warning
diff --git a/gcc/coretypes.h b/gcc/coretypes.h
index 465bead6863..c42c053eb33 100644
--- a/gcc/coretypes.h
+++ b/gcc/coretypes.h
@@ -320,30 +320,6 @@ enum var_init_status
VAR_INIT_STATUS_INITIALIZED
};
-/* Names for the different levels of -Wstrict-overflow=N. The numeric
- values here correspond to N. */
-enum warn_strict_overflow_code
-{
- /* Overflow warning that should be issued with -Wall: a questionable
- construct that is easy to avoid even when using macros. Example:
- folding (x + CONSTANT > x) to 1. */
- WARN_STRICT_OVERFLOW_ALL = 1,
- /* Overflow warning about folding a comparison to a constant because
- of undefined signed overflow, other than cases covered by
- WARN_STRICT_OVERFLOW_ALL. Example: folding (abs (x) >= 0) to 1
- (this is false when x == INT_MIN). */
- WARN_STRICT_OVERFLOW_CONDITIONAL = 2,
- /* Overflow warning about changes to comparisons other than folding
- them to a constant. Example: folding (x + 1 > 1) to (x > 0). */
- WARN_STRICT_OVERFLOW_COMPARISON = 3,
- /* Overflow warnings not covered by the above cases. Example:
- folding ((x * 10) / 5) to (x * 2). */
- WARN_STRICT_OVERFLOW_MISC = 4,
- /* Overflow warnings about reducing magnitude of constants in
- comparison. Example: folding (x + 2 > y) to (x + 1 >= y). */
- WARN_STRICT_OVERFLOW_MAGNITUDE = 5
-};
-
/* Kind of artificial, compiler-generated lookup table. Type of the
second argument of TARGET_ADDR_SPACE_FOR_ARTIFICIAL_RODATA resp.
targetm.addr_space.for_artificial_rodata. */
diff --git a/gcc/opts.cc b/gcc/opts.cc
index 09baa411cfd..17c54b6688e 100644
--- a/gcc/opts.cc
+++ b/gcc/opts.cc
@@ -2952,9 +2952,7 @@ common_handle_option (struct gcc_options *opts,
break;
case OPT_Wstrict_overflow:
- opts->x_warn_strict_overflow = (value
- ? (int) WARN_STRICT_OVERFLOW_CONDITIONAL
- : 0);
+ /* Deferred. */
break;
case OPT_Wsystem_headers:
--
2.43.0