https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108520

--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Slightly cleaned up testcase:
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 ();
    }
}

Reply via email to