This is the mail archive of the gcc-bugs@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]

java/2216: gcj generates bad bytecode



>Number:         2216
>Category:       java
>Synopsis:       gcj generates bad bytecode
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Mar 07 15:36:00 PST 2001
>Closed-Date:
>Last-Modified:
>Originator:     Tom Tromey
>Release:        current head cvs
>Organization:
>Environment:

>Description:
If I compile the appended program with
`gcj -C', Sun's `java' interpreter gives
a VerificationError.  This probably means that the
generated bytecode are incorrect.

import java.io.*;
import java.net.*;

public class GetURL {
    public static void main(String[] args) throws Exception {
	InputStream in = null;
	OutputStream out = null;
	try {
	    if (!(args.length == 1 || args.length == 2))
		throw new IllegalArgumentException("Wrong number of args");

	    URL url = new URL(args[0]);
	    in = url.openStream();
	    if (args.length == 2)
		out = new FileOutputStream(args[1]);
	    else
		out = System.out;

	    byte[] buffer = new byte[4096];
	    int bytes_read;
	    while ((bytes_read = in.read(buffer)) != -1)
		out.write(buffer, 0, bytes_read);
	}
	catch (Exception e) {
	    System.err.println(e);
	}
	finally {
	    in.close();
	    out.close();
	}
    }
}

>How-To-Repeat:

>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]