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