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

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Slightly simplified:
struct E { int e; };
int bar (void), baz (void);

void
foo (void)
{
  struct E a = { 0 };
  struct E i = { 0 };
  if (baz ())
    i.e = 1;
  else
    a.e = -2;
  switch (a.e)
    {
    case -2:
    lab1:
      switch (i.e)
        {
        case -3:
        case 2:
          if (i.e-- != 2)
            __builtin_unreachable ();
          (void) &&lab2;
        lab2:
          baz ();
          goto lab1;
        case 0:
          bar ();
        }
    }
}

Reply via email to