aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/missing-field-init-1.c
diff options
context:
space:
mode:
authorRichard Sandiford <rsandifo@redhat.com>2004-08-06 11:23:23 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2004-08-06 11:23:23 +0000
commiteaac467945c87292784a1773c911f649e340136a (patch)
tree2423669b264154305c8f708c1b78d38c7f40ddd2 /gcc/testsuite/gcc.dg/missing-field-init-1.c
parent155cb61615af89497814ef6c2685e2dfd098f2f7 (diff)
downloadgcc-eaac467945c87292784a1773c911f649e340136a.zip
gcc-eaac467945c87292784a1773c911f649e340136a.tar.gz
gcc-eaac467945c87292784a1773c911f649e340136a.tar.bz2
re PR c/13282 (A "-Wno..." switch to turn off "missing initializer" warnings)
PR c/13282 * c.opt (Wmissing-field-initializers): New option. * c-opts.c (c_common_post_options): Make -Wextra turn it on by default. * c-typeck.c (pop_init_level): Guard the missing field warning with warn_missing_field_initializers rather than extra_warnings. * doc/invoke.texi (-Wmissing-field-initializers): Document, moving some of the explanation from... (-Wextra): ...here. Say that the missing field warning can be seperately controlled by -Wmissing-field-initializers. cp/ * typeck2.c (process_init_constructor): Guard the missing field warning with warn_missing_field_initializers rather than extra_warnings. testsuite/ * gcc.dg/missing-field-init-[12].c: New tests. * g++.dg/warn/missing-field-init-[12].C: New tests. From-SVN: r85638
Diffstat (limited to 'gcc/testsuite/gcc.dg/missing-field-init-1.c')
-rw-r--r--gcc/testsuite/gcc.dg/missing-field-init-1.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/missing-field-init-1.c b/gcc/testsuite/gcc.dg/missing-field-init-1.c
new file mode 100644
index 0000000..5f32b02
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/missing-field-init-1.c
@@ -0,0 +1,10 @@
+/* { dg-do compile } */
+/* { dg-options "-Wextra -Wno-missing-field-initializers -std=c99" } */
+
+struct s { int a, b, c; };
+struct s s1 = { 1, 2, 3 };
+struct s s2 = { 1, 2 }; /* { dg-bogus "missing initializer" } */
+struct s s3[] = { { 1, 2 }, { 4, 5 } }; /* { dg-bogus "missing initializer" } */
+struct s s4[] = { 1, 2, 3, 4, 5 }; /* { dg-bogus "missing initializer" } */
+struct s s5[] = { 1, 2, 3, 4, 5, 6 };
+struct s s6 = { .a = 1 }; /* { dg-bogus "missing initializer" } */