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 10 foo (void) 11 { 12 (int) { 1 }; /* { dg-bogus "warning" "warning in place of error" } */ 13 /* { dg-error "compound literal" "scalar" { target *-*-* } 12 } */ 14 (struct s) { 1, 2 }; /* { dg-bogus "warning" "warning in place of error" } */ 15 /* { dg-error "compound literal" "struct" { target *-*-* } 14 } */ 16 (union u) { 1 }; /* { dg-bogus "warning" "warning in place of error" } */ 17 /* { dg-error "compound literal" "union" { target *-*-* } 16 } */ 18 (int [1]) { 1 }; /* { dg-bogus "warning" "warning in place of error" } */ 19 /* { dg-error "compound literal" "array" { target *-*-* } 18 } */ 20 } 21