aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Polacek <polacek@redhat.com>2014-08-02 05:52:30 +0000
committerMarek Polacek <mpolacek@gcc.gnu.org>2014-08-02 05:52:30 +0000
commit2df06cec0a2fe611c5487bf54c4ef8e3b2b30543 (patch)
tree67a0dedf0cfec5ae5f6a63d6dda44f57bf7f46c1
parentdc14e88e07ba3c0d8b7ef1f3183240d6f6428be3 (diff)
downloadgcc-2df06cec0a2fe611c5487bf54c4ef8e3b2b30543.zip
gcc-2df06cec0a2fe611c5487bf54c4ef8e3b2b30543.tar.gz
gcc-2df06cec0a2fe611c5487bf54c4ef8e3b2b30543.tar.bz2
re PR c/59855 (Support sparse-style __attribute__((designated_init)) on structures, requiring designated initializers)
PR c/59855 * gcc.dg/Wdesignated-init-2.c: New test. From-SVN: r213515
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.dg/Wdesignated-init-2.c15
2 files changed, 20 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 81b20e0..13b6323 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2014-08-02 Marek Polacek <polacek@redhat.com>
+
+ PR c/59855
+ * gcc.dg/Wdesignated-init-2.c: New test.
+
2014-08-01 Paolo Carlini <paolo.carlini@oracle.com>
DR 217 again
diff --git a/gcc/testsuite/gcc.dg/Wdesignated-init-2.c b/gcc/testsuite/gcc.dg/Wdesignated-init-2.c
new file mode 100644
index 0000000..d5edfba
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/Wdesignated-init-2.c
@@ -0,0 +1,15 @@
+/* PR c/59855 */
+/* { dg-do compile } */
+/* { dg-options "-std=gnu11" } */
+
+struct S {
+ int a;
+ union {
+ int b;
+ int c;
+ };
+} __attribute__((designated_init));
+
+struct S s1 = { .a = 0, .b = 0 };
+struct S s2 = { 0, 0 }; /* { dg-warning "(positional|near initialization)" } */
+struct S s3 = { .a = 5, 0 }; /* { dg-warning "(positional|near initialization)" } */