https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78413
--- Comment #1 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
Another testcase
markus@x4 /tmp % cat test2.i
struct S {
_Bool bo;
};
int a, b, c, d;
void fn1() {
do
do
do {
struct S *e = (struct S *)1;
do
b = a / (e->bo ? 2 : 1);
while (b);
} while (0);
while (d);
while (c);
}
markus@x4 /tmp % gcc -O3 -fno-strict-aliasing -c test2.i
test2.i: In function ‘fn1’:
test2.i:5:6: internal compiler error: in single_pred_edge, at basic-block.h:361