1 /* Test for compound literals: in C99 only. */
2 /* Origin: Joseph Myers <jsm28@cam.ac.uk> */
3 /* { dg-do compile } */
4 /* { dg-options "-std=iso9899:1990 -pedantic-errors" } */
5
6 struct s { int a; int b; };
7 union u { int c; int d; };
8
9 void
foo(void)10 foo (void)
11 {
12 (int) { 1 }; /* { dg-bogus "warning" "warning in place of error" } */
13 /* { dg-error "compound literal" "scalar" { target *-*-* } .-1 } */
14 (struct s) { 1, 2 }; /* { dg-bogus "warning" "warning in place of error" } */
15 /* { dg-error "compound literal" "struct" { target *-*-* } .-1 } */
16 (union u) { 1 }; /* { dg-bogus "warning" "warning in place of error" } */
17 /* { dg-error "compound literal" "union" { target *-*-* } .-1 } */
18 (int [1]) { 1 }; /* { dg-bogus "warning" "warning in place of error" } */
19 /* { dg-error "compound literal" "array" { target *-*-* } .-1 } */
20 }
21