public inbox for java-prs@sourceware.org
help / color / mirror / Atom feed
From: "vnasardinov at gmail dot com" <gcc-bugzilla@gcc.gnu.org>
To: java-prs@gcc.gnu.org
Subject: [Bug libgcj/27101]  New: GCJ rejects valid code (for Sun's measure of "valid')
Date: Mon, 10 Apr 2006 13:55:00 -0000	[thread overview]
Message-ID: <bug-27101-8557@http.gcc.gnu.org/bugzilla/> (raw)

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 3053 bytes --]

This is probably a duplicate of something that has been filed before,
but my cursory search failed to turn up any similar tickets.

GCJ rejects code that both Sun and Eclipse compilers accept.

Here's the test case:

| $ cat Reluctant.java
| public class Reluctant {
|     private Reluctant internalInstance = new Reluctant();
|
|     public Reluctant() throws Exception {
|         throw new Exception("I'm not coming out");
|     }
|
|     public static void main(String[] args) {
|         try {
|             Reluctant b = new Reluctant();
|             System.out.println("Surprise!");
|         } catch (Exception ex) {
|             System.out.println("I told you so");
|         }
|     }
| }

The test comes from
http://www.javapuzzlers.com/java-puzzlers.zip


Here's what I'm using

| $ gcj -v
| Using built-in specs.
| Reading specs from /usr/lib/gcc/x86_64-redhat-linux/4.1.0/libgcj.spec
| rename spec lib to liborig
| Target: x86_64-redhat-linux
| Configured with: ../configure --prefix=/usr --mandir=/usr/share/man \
|  --infodir=/usr/share/info --enable-shared --enable-threads=posix \
|  --enable-checking=release --with-system-zlib --enable-__cxa_atexit \
|  --disable-libunwind-exceptions --enable-libgcj-multifile \
|  --enable-languages=c,c++,objc,obj-c++,java,fortran,ada \
|  --enable-java-awt=gtk --disable-dssi \
|  --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre \
|  --with-cpu=generic --host=x86_64-redhat-linux
|
| Thread model: posix
| gcc version 4.1.0 20060304 (Red Hat 4.1.0-3)

Here's the compilation error the above code triggers:

| $ gcj -C Reluctant.java
| Reluctant.java: In class 'Reluctant':
| Reluctant.java: In method 'finit$()':
| Reluctant.java:2: error: Exception ^[$-1òøjava.lang.Exceptionòù can't be
thrown in initializer.
|     private Reluctant internalInstance = new Reluctant();
|                                                 ^
| 1 error

Here's what the Eclipse compiler has to say:

| $ ecj -v
| Eclipse Java Compiler v_585_R31x, 3.1.2 release, Copyright IBM Corp 2000,
2006. All rights reserved.
| $ ecj Reluctant.java
| ----------
| 1. WARNING in Reluctant.java
|  (at line 2)
|       private Reluctant internalInstance = new Reluctant();
|                         ^^^^^^^^^^^^^^^^
| The field Reluctant.internalInstance is never read locally
| ----------
| ----------
| 2. WARNING in Reluctant.java
|  (at line 10)
|       Reluctant b = new Reluctant();
|                 ^
| The local variable b is never read
| ----------
| 2 problems (2 warnings)

No errors.

Same with Sun's javac:

| $ javac -version 2>&1 | head -n1
| javac 1.5.0_06
| $ javac -Xlint Reluctant.java
| $ echo $?
| 0


-- 
           Summary: GCJ rejects valid code (for Sun's measure of "valid')
           Product: gcc
           Version: 4.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libgcj
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: vnasardinov at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27101


             reply	other threads:[~2006-04-10 13:55 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-04-10 13:55 vnasardinov at gmail dot com [this message]
2006-04-10 16:30 ` [Bug java/27101] " pinskia at gcc dot gnu dot org
2006-04-10 18:12 ` vnasardinov at gmail dot com
2006-04-10 18:24 ` pinskia at gcc dot gnu dot org
2006-04-12 17:38 ` tromey at gcc dot gnu dot org
2007-01-09 20:53 ` tromey at gcc dot gnu dot org

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-27101-8557@http.gcc.gnu.org/bugzilla/ \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=java-prs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).