]>
Commit | Line | Data |
---|---|---|
1bec9d5f | 1 | /* Test C11 static assertions. Invalid assertions. */ |
32912286 | 2 | /* { dg-do compile } */ |
1bec9d5f | 3 | /* { dg-options "-std=c11 -pedantic-errors" } */ |
32912286 JM |
4 | |
5 | _Static_assert (__INT_MAX__ * 2, "overflow"); /* { dg-warning "integer overflow in expression" } */ | |
6 | /* { dg-error "overflow in constant expression" "error" { target *-*-* } 5 } */ | |
7 | ||
8 | _Static_assert ((void *)(__SIZE_TYPE__)16, "non-integer"); /* { dg-error "not an integer" } */ | |
9 | ||
10 | _Static_assert (1.0, "non-integer"); /* { dg-error "not an integer" } */ | |
11 | ||
12 | _Static_assert ((int)(1.0 + 1.0), "non-constant-expression"); /* { dg-error "not an integer constant expression" } */ | |
13 | ||
14 | int i; | |
15 | ||
16 | _Static_assert (i, "non-constant"); /* { dg-error "not constant" } */ | |
17 | ||
18 | void | |
19 | f (void) | |
20 | { | |
21 | int j = 0; | |
22 | for (_Static_assert (sizeof (struct s { int k; }), ""); j < 10; j++) /* { dg-error "loop initial declaration" } */ | |
23 | ; | |
24 | } | |
25 | ||
26 | _Static_assert (1, 1); /* { dg-error "expected" } */ | |
27 | ||
28 | _Static_assert (1, ("")); /* { dg-error "expected" } */ |