This is the mail archive of the gcc-prs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

java/8866: Bug in switch statement code generation -- missing label


>Number:         8866
>Category:       java
>Synopsis:       Bug in switch statement code generation -- missing label
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          wrong-code
>Submitter-Id:   net
>Arrival-Date:   Sat Dec 07 15:56:00 PST 2002
>Closed-Date:
>Last-Modified:
>Originator:     Anthony Green
>Release:        3.3 20021207 (experimental)
>Organization:
>Environment:
System: Linux park 2.4.18-18.8.0 #1 Thu Nov 14 00:10:29 EST 2002 i686 i686 i386 GNU/Linux
Architecture: i686

	
host: i686-pc-linux-gnu
build: i686-pc-linux-gnu
target: i686-pc-linux-gnu
configured with: /park/green/FSF/GCC/HEAD/gcc/configure --prefix=/park/green/latest/i --enable-languages=c,c++,java --enable-threads
>Description:

gcj is not emitting some important symbol when generating switch
statement code.  This is a fairly new regression. With the test code
below, you'll see:

/tmp/ccGnYxUm.o(.text+0x24): undefined reference to `.L8'

>How-To-Repeat:

$ gcj SwitchTest.java -O1  --main=SwitchTest

public class SwitchTest
{
  public static void main (String args[])
    {
      String attTypeString = "";

      switch (args.length) {
      case 1:
          attTypeString = "string";
      case 4:
          attTypeString = "ID";;
      case 5:
          attTypeString = "IDREF";;
      case 6:
          attTypeString = "NMTOKEN";;
      case 7:
          attTypeString = "NOTATION";;
      default:
          ;
      }
    }
}

>Fix:
	
>Release-Note:
>Audit-Trail:
>Unformatted:


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]