aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-opts.c
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2006-09-30 20:46:06 +0100
committerJoseph Myers <jsm28@gcc.gnu.org>2006-09-30 20:46:06 +0100
commit7ed322d7b5f0b66806d3c3185511a93d8a98e969 (patch)
treee7f9e9ef9055bb20c3907865efd402c942dc4871 /gcc/c-opts.c
parent19add4f7e416da5706eb0e0a0cbbd980a74f4b86 (diff)
downloadgcc-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.c6
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. */