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

--- Comment #5 from Joseph S. Myers <jsm28 at gcc dot gnu.org> ---
Slightly simplified test (note that only one nested function is needed, and
none of the calls to it actually use the return value - but all three calls are
needed to get the ICE). The special options from nested-func-12.c are still
needed, and I haven't yet figured out what is making the remapping of types in
inlining happen in such a way that an invalid conversion results.

void
foo (int n)
{
  struct S { int a[n]; };

  struct S
  fn (void)
  {
    struct S s;
    s.a[0] = 42;
    return s;
  }

  fn ();
  fn ();
  fn ();
}

int
main (void)
{
  foo (1);
}

Reply via email to