1 /* Test C1X static assertions. Valid assertions. */ 2 /* { dg-do compile } */ 3 /* { dg-options "-std=c1x -pedantic-errors" } */ 4 5 _Static_assert (1, "foo"); 6 7 enum e { E0, E1 }; 8 9 _Static_assert (E1, L"bar"); 10 11 _Static_assert (-1, "foo" L"bar"); 12 13 struct s 14 { 15 int a; 16 _Static_assert (3, "s"); 17 int b; 18 }; 19 20 union u 21 { 22 int i; 23 _Static_assert ((int)1.0, L""); 24 }; 25 26 void f(void)27f (void) 28 { 29 int i; 30 i = 1; 31 _Static_assert (0 + 1, "f"); 32 i = 2; 33 } 34 35 void g(void)36g (void) 37 { 38 int i = 0; 39 for (_Static_assert (1, ""); i < 10; i++) 40 ; 41 } 42