Maybe it's a known issue, but I just found out that problem described in
PR/2288 (wrong scope for symbols declared in for-loop header) also applies
to variables declared in `if' and `switch'. The following code compiles:
void foo () {
if (int a = 1) int a;
switch (int b = 1) int b;
}
Krzysztof