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

Reply via email to