java/8154: gcj not emitting switch table
green@redhat.com
green@redhat.com
Sat Oct 5 18:56:00 GMT 2002
>Number: 8154
>Category: java
>Synopsis: gcj not emitting switch table
>Confidential: no
>Severity: critical
>Priority: medium
>Responsible: unassigned
>State: open
>Class: wrong-code
>Submitter-Id: net
>Arrival-Date: Sat Oct 05 18:56:00 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:
>Release: 3.3 20021005 (experimental)
>Organization:
>Environment:
System: Linux louie 2.4.7-10smp #1 SMP Thu Sep 6 17:09:31 EDT 2001 i686 unknown
Architecture: i686
host: i686-pc-linux-gnu
build: i686-pc-linux-gnu
target: i686-pc-linux-gnu
configured with: /home/green/FSF/GCC/HEAD/gcc/configure --prefix=/louie/green/latest/i --enable-languages=c,c++,java : (reconfigured)
>Description:
Here's a recent gcj regression....
louie[1180] gcj -o linkbug --main=linkbug linkbug.java -O2
/tmp/cccsuuSt.o: In function `linkbug::main(JArray<java::lang::String*>*)':
/tmp/cccsuuSt.o(.text+0x36): undefined reference to `.L10'
collect2: ld returned 1 exit status
>How-To-Repeat:
Try to compile and link the following with optimization turned on.
import gnu.java.rmi.server.*;
public class linkbug
{
public static void main (String[] args)
{
String attTypeString = "";
switch (args.length) {
case ProtocolConstants.STREAM_PROTOCOL:
attTypeString = "string";
case ProtocolConstants.SINGLE_OP_PROTOCOL:
attTypeString = "ENTITY";
case ProtocolConstants.MULTIPLEX_PROTOCOL:
attTypeString = "ENUMERATION";
case ProtocolConstants.PROTOCOL_ACK:
attTypeString = "ID";
case ProtocolConstants.PROTOCOL_NACK:
attTypeString = "IDREF";
case ProtocolConstants.MESSAGE_CALL:
attTypeString = "NMTOKEN";
case ProtocolConstants.MESSAGE_CALL_ACK:
attTypeString = "NOTATION";
default:
;
}
System.out.println (attTypeString);
return;
}
}
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the Java-prs
mailing list