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

--- Comment #13 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Short testcase that shows what's going on on the #c7 testcase:
typedef __SIZE_TYPE__ size_t;
struct A { A (); ~A (); int a; void qux (const char *); };
int bar (char *);

static inline __attribute__((always_inline)) A
foo ()
{
  char b[8192];
  int x = bar (b);
  A s;
  if (x > 0 && (size_t) x < sizeof b)
    s.qux (b);
  return s;
}

void
baz ()
{
  A a;
  foo (); foo (); foo (); foo (); foo ();
  foo (); foo (); foo (); foo (); foo ();
  foo (); foo (); foo (); foo (); foo ();
  foo (); foo (); foo (); foo (); foo ();
}

Reply via email to