diff options
Diffstat (limited to 'gcc/c-opts.c')
-rw-r--r-- | gcc/c-opts.c | 8 |
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 |