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 ();
}
}
}
