blob: 6cd677a852d481817c750efd517646c7fe9fed45 [file] [log] [blame]
// { dg-do compile { target c++23 } }
// { dg-options "-O2" }
static void foo () {}
struct S { void (*f) (); };
[[gnu::nonnull (1)]]
void
bar (void *x)
{
struct S a[3] = { { foo }, { foo }, { foo } };
for (struct S *i = a, *e = a + 3; i != e; i++)
{
[[assume (i->f)]];
i->f ();
}
}