From 7ed322d7b5f0b66806d3c3185511a93d8a98e969 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Sat, 30 Sep 2006 20:46:06 +0100 Subject: 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 --- gcc/c-opts.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'gcc/c-opts.c') 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. */ -- cgit v1.1