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)27 f (void)
28 {
29   int i;
30   i = 1;
31   _Static_assert (0 + 1, "f");
32   i = 2;
33 }
34 
35 void
g(void)36 g (void)
37 {
38   int i = 0;
39   for (_Static_assert (1, ""); i < 10; i++)
40     ;
41 }
42