aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-opts.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/c-opts.c')
-rw-r--r--gcc/c-opts.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/c-opts.c b/gcc/c-opts.c
index 0050ab5..4574bb2 100644
--- a/gcc/c-opts.c
+++ b/gcc/c-opts.c
@@ -395,6 +395,8 @@ c_common_handle_option (size_t scode, const char *arg, int value)
warn_strict_overflow = value;
warn_array_bounds = value;
warn_volatile_register_var = value;
+ if (warn_jump_misses_init == -1)
+ warn_jump_misses_init = value;
/* Only warn about unknown pragmas that are not in system
headers. */
@@ -445,6 +447,10 @@ c_common_handle_option (size_t scode, const char *arg, int value)
implies -Wenum-compare. */
if (warn_enum_compare == -1 && value)
warn_enum_compare = value;
+ /* Because C++ always warns about a goto which misses an
+ initialization, -Wc++-compat turns on -Wgoto-misses-init. */
+ if (warn_jump_misses_init == -1 && value)
+ warn_jump_misses_init = value;
cpp_opts->warn_cxx_operator_names = value;
break;
@@ -1084,6 +1090,8 @@ c_common_post_options (const char **pfilename)
warn_strict_aliasing = 0;
if (warn_strict_overflow == -1)
warn_strict_overflow = 0;
+ if (warn_jump_misses_init == -1)
+ warn_jump_misses_init = 0;
/* -Woverlength-strings is off by default, but is enabled by -pedantic.
It is never enabled in C++, as the minimum limit is not normative