From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 929 invoked by alias); 22 Jul 2004 21:34:29 -0000 Mailing-List: contact java-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: java-prs-owner@gcc.gnu.org Received: (qmail 913 invoked by uid 48); 22 Jul 2004 21:34:28 -0000 Date: Thu, 22 Jul 2004 21:34:00 -0000 From: "vadimn at redhat dot com" To: java-prs@gcc.gnu.org Message-ID: <20040722213425.16677.vadimn@redhat.com> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug libgcj/16677] New: GCJ fails to reject invalid code X-Bugzilla-Reason: CC X-SW-Source: 2004-q3/txt/msg00090.txt.bz2 List-Id: In the process of producing a test case for PR16675, we ran across another bug. See below. Bryce points out that it is similar to PR9884. As far as I can tell, it's the exact same issue, in which case please mark this as a duplicate. Here goes. The following snippet of code is not valid. | $ cat Test.java | public class Test { | public static void main(String[] s) { | new Object() { | public String toString() { | return "enclosing class: " + Test.this.getClass(); | } | }.toString(); | } | } Sun's javac compiler correctly rejects it like so: | $ java -version | java version "1.4.2_04" | Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_04-b05) | Java HotSpot(TM) Client VM (build 1.4.2_04-b05, mixed mode) | $ javac Test.java | Test.java:5: non-static variable this cannot be referenced from a static context | return "enclosing class: " + Test.this.getClass(); | ^ | 1 error | $ echo $? | 1 GCJ accepts it: | $ gcj -C Test.java | $ echo $? | 0 The generated bytecode produces a runtime error: | $ gij Test | Exception in thread "main" java.lang.NullPointerException | at Test$1.toString() (Unknown Source) | at Test.main(java.lang.String[]) (Unknown Source) -- Summary: GCJ fails to reject invalid code Product: gcc Version: 3.4.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: libgcj AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: vadimn at redhat dot com CC: gcc-bugs at gcc dot gnu dot org,java-prs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16677