https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87038
--- Comment #16 from Steinar H. Gunderson <steinar+gcc at gunderson dot no> ---
Since you're asking (presumably rhethorically): I would certainly recommend
that this code be changed, yes, and I don't find the author's intent obvious at
all. The fix that comes to mind is to scope the case clause:
void f4(int a) {
switch (a) {
case 0: {
int i = f1();
f3(i);
break;
}
case 1: {
int i = f2();
f3(i);
break;
}
}
}
