https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114048
--- Comment #2 from Sam James <sjames at gcc dot gnu.org> ---
Reduced:
```
typedef struct {
void *child[2];
char otherbits;
} critbit0_node;
int allprefixed_traverse(char *top) {
if (top) {
critbit0_node *q = (void *)top - 1;
int direction = 0;
for (;; ++direction)
switch (allprefixed_traverse(q->child[direction])) {
case 1:
break;
case 0:
return 0;
default:
return 1;
}
}
}
```
