libcpp, c, middle-end: Optimize initializers using #embed in C
[official-gcc.git] / gcc / testsuite / gcc.dg / c23-generic-2.c
blobeb31d37b092cac7ef5e0332848a286c440d78087
1 /* Test C2Y _Generic features: warning with -std=c23 -pedantic. */
2 /* { dg-do compile } */
3 /* { dg-options "-std=c23 -pedantic" } */
5 _Static_assert (_Generic (const int, int : 1, const int : 2) == 2); /* { dg-warning "use of type name" } */
7 _Static_assert (_Generic (void, int : 1, void : 2) == 2); /* { dg-warning "use of type name" } */
8 /* { dg-warning "incomplete type" "incomplete type" { target *-*-* } .-1 } */
10 _Static_assert (_Generic (int (), int (*) () : 1, int () : 2) == 2); /* { dg-warning "use of type name" } */
11 /* { dg-warning "function type" "function type" { target *-*-* } .-1 } */
13 const int ci;
15 _Static_assert (_Generic (typeof (ci), const int : 1, int : 2) == 1); /* { dg-warning "use of type name" } */
17 _Static_assert (_Generic (ci, const int : 1, int : 2) == 2);