blob: 5b09aded3693ad58596f1004e61bea1da75e6217 [file] [log] [blame]
/* { dg-do compile }
{ dg-options "-std=c23" } */
// test that structs of variable size are detected correctly
void f(int n)
{
struct bar { char buf[n]; };
struct foo { struct bar y; } a;
{
struct bar { char buf[n]; };
struct foo { struct bar y; } b;
typeof((1 ? &a : &b)->y) c = { 0 }; /* { dg-error "variable-sized object may not be initialized" } */
}
}
void g(int n)
{
struct bar { char buf[n]; };
struct foo { struct bar y; } a;
{
struct bar { char buf[2]; };
struct foo { struct bar y; } b;
typeof((1 ? &a : &b)->y) c = { 0 }; // composite type is not of variable size
}
}