diff options
author | Joseph Myers <joseph@codesourcery.com> | 2006-09-30 20:46:06 +0100 |
---|---|---|
committer | Joseph Myers <jsm28@gcc.gnu.org> | 2006-09-30 20:46:06 +0100 |
commit | 7ed322d7b5f0b66806d3c3185511a93d8a98e969 (patch) | |
tree | e7f9e9ef9055bb20c3907865efd402c942dc4871 /gcc/c-opts.c | |
parent | 19add4f7e416da5706eb0e0a0cbbd980a74f4b86 (diff) | |
download | gcc-7ed322d7b5f0b66806d3c3185511a93d8a98e969.zip gcc-7ed322d7b5f0b66806d3c3185511a93d8a98e969.tar.gz gcc-7ed322d7b5f0b66806d3c3185511a93d8a98e969.tar.bz2 |
re PR c/24010 (Duplicate C99 dot initializer warning missing)
PR c/24010
* c.opt (Woverride-init): New.
* c-opts.c (c_common_post_options): Default warn_override_init to
extra_warnings.
* c-typeck.c (add_pending_init, output_init_element): Warn for
overriding initializers without side effects.
* doc/invoke.texi (-Woverride-init): Document.
(-Wextra): Update.
testsuite:
* gcc.dg/Woverride-init-1.c, gcc.dg/Woverride-init-2.c,
gcc.dg/Woverride-init-3.c: New tests.
From-SVN: r117334
Diffstat (limited to 'gcc/c-opts.c')
-rw-r--r-- | gcc/c-opts.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/c-opts.c b/gcc/c-opts.c index 5821dea..b74ce77 100644 --- a/gcc/c-opts.c +++ b/gcc/c-opts.c @@ -1016,12 +1016,14 @@ c_common_post_options (const char **pfilename) if (flag_objc_exceptions && !flag_objc_sjlj_exceptions) flag_exceptions = 1; - /* -Wextra implies -Wsign-compare and -Wmissing-field-initializers, - but not if explicitly overridden. */ + /* -Wextra implies -Wsign-compare, -Wmissing-field-initializers and + -Woverride-init, but not if explicitly overridden. */ if (warn_sign_compare == -1) warn_sign_compare = extra_warnings; if (warn_missing_field_initializers == -1) warn_missing_field_initializers = extra_warnings; + if (warn_override_init == -1) + warn_override_init = extra_warnings; /* -Wpointer_sign is disabled by default, but it is enabled if any of -Wall or -pedantic are given. */ |