http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52655
Bug #: 52655 Summary: right shit in switch: gcc compiles with error: label at end of compound statement Classification: Unclassified Product: gcc Version: 4.6.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassig...@gcc.gnu.org ReportedBy: borut.ra...@gmail.com The following code compiles with error: label at end of compound statement with the gcc 4.6.1 compiler. Content of t.c: ----8<---- void foo (int op) { int x = 100000 >> 3; /* OK */ switch (op) { case 0: x = 100000 >> 3; /* t.c:12:5: error: label at end of compound statement */ break; default: } } ---->8---- Command: gcc -c t.c Reproduced on OS version: $ uname -srvmpo Linux 2.6.32-5-686 #1 SMP Wed Jan 11 12:29:30 UTC 2012 i686 unknown GNU/Linux and Linux 3.0.0-16-generic #29-Ubuntu SMP Tue Feb 14 12:48:51 UTC 2012 x86_64 x86_64 GNU/Linux Compiler version: $ gcc --version gcc (GCC) 4.6.1 Copyright (C) 2011 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. and $ gcc --version gcc (Ubuntu/Linaro 4.6.1-9ubuntu3) 4.6.1 Copyright (C) 2011 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Borut