2 /* { dg-options "" } */
4 _Atomic
float i
= 3.0f
;
6 float a1
= sizeof (i
+ 1.2);
7 float a2
= sizeof (i
= 0);
8 float a3
= sizeof (i
++);
9 float a4
= sizeof (i
--);
10 float a5
= sizeof (-i
);
12 float b1
= _Alignof (i
+ 1);
13 float b2
= _Alignof (i
= 0);
14 float b3
= _Alignof (i
++);
15 float b4
= _Alignof (i
--);
16 float b5
= _Alignof (-i
);
18 float c1
= i
; /* { dg-error "initializer element is not constant" } */
19 float c2
= (i
? 1 : 2); /* { dg-error "initializer element is not constant" } */
20 float c3
[(int) i
]; /* { dg-error "variably modified" } */
21 float c4
= 0 || i
; /* { dg-error "initializer element is not constant" } */
22 float c5
= (i
+= 10); /* { dg-error "initializer element is not constant" } */
24 _Static_assert (_Generic (i
, float: 1, default: 0) == 1, "1");
25 _Static_assert (_Generic (i
+ 1, float: 1, default: 0) == 1, "2");
26 _Static_assert (_Generic (i
= 0, float: 1, default: 0) == 1, "3");
27 _Static_assert (_Generic (i
++, float: 1, default: 0) == 1, "4");
28 _Static_assert (_Generic (i
--, float: 1, default: 0) == 1, "5");
31 void fn1 (float a
[sz
+ 1]);
32 void fn2 (float a
[sz
= 0]);
33 void fn3 (float a
[sz
++]);
34 void fn4 (float a
[sz
--]);
35 void fn5 (float a
[-sz
]);