From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22641 invoked by alias); 13 Mar 2002 15:46:06 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 22530 invoked by uid 71); 13 Mar 2002 15:46:03 -0000 Resent-Date: 13 Mar 2002 15:46:03 -0000 Resent-Message-ID: <20020313154603.22529.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-To: nobody@gcc.gnu.org Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org, java-prs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, r.hautz@inn-salzach.de Received:(qmail 19830 invoked from network); 13 Mar 2002 15:43:06 -0000 Received: from unknown (HELO isabella.iivs.de) (212.144.111.119) by sources.redhat.com with SMTP; 13 Mar 2002 15:43:06 -0000 Received: (from roland@localhost) by isabella.iivs.de (8.11.6/8.11.6/SuSE Linux 0.5) id g2DFZvF01039; Wed, 13 Mar 2002 16:35:57 +0100 Message-Id:<200203131535.g2DFZvF01039@isabella.iivs.de> Date: Wed, 13 Mar 2002 07:46:00 -0000 From: "Roland Hautz"@sources.redhat.com, roland@isabella.iivs.de Reply-To: r.hautz@inn-salzach.de To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version:3.113 Subject: java/5935: problem with anonymous inner classes X-SW-Source: 2002-03/txt/msg00427.txt.bz2 List-Id: >Number: 5935 >Category: java >Synopsis: problem with anonymous inner classes >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: rejects-legal >Submitter-Id: net >Arrival-Date: Wed Mar 13 07:46:02 PST 2002 >Closed-Date: >Last-Modified: >Originator: >Release: 3.2 20020303 (experimental) >Organization: >Environment: System: Linux isabella 2.4.10-4GB #1 Tue Sep 25 12:33:54 GMT 2001 i586 unknown Architecture: i586 host: i586-pc-linux-gnu build: i586-pc-linux-gnu target: i586-pc-linux-gnu configured with: /home/roland/gcc/configure : (reconfigured) /home/roland/gcc/configure --enable-threads=posix --enable-shared --enable-languages=c++,java : (reconfigured) /home/roland/gcc/configure : (reconfigured) /home/roland/gcc/configure --disable-libf2c : (reconfigured) /home/roland/gcc/configure --enable-threads=posix --enable-languages=c,c++,java : (reconfigured) : (reconfigured) : (reconfigured) /home/roland/gcc/configure --enable-threads=posix --enable-languages=c,c++,java --enable-interpreter : (reconfigured) : (reconfigured) : (reconfigured) : (reconfigured) : (reconfigured) : (reconfigured) : (reconfigured) : (reconfigured) : (reconfigured) : (reconfigured) : (reconfigured) /home/roland/gcc/configure --enable-threads=posix --enable-languages=c,c++,java : (reconfigured) /home/roland/gcc/configure --enable-threads=posix --enable-languages=c,c++,java : (reconfigured) : (reconfigured) /home/roland/gcc/configure --enable-threads=posix --enable-language! s=c,c++,java >Description: gcj rejects legal code of anonymous inner classes with the following error message roland@isabella:~/work> gcj -C Test.java IntProcedure.java: In class `Test$1': IntProcedure.java: In constructor `(Test,int)': IntProcedure.java:22: Local variable `parm$key' can't be accessed from within the inner class `Test$1' unless it is declared final. <> ^ IntProcedure.java:1: internal error in generate_bytecode_insn - tree code not implemented: error_mark >How-To-Repeat: public interface IntProcedure { public int apply(); } import IntProcedure; public class Test { public Object a(final int key) { return new IntProcedure() { public int apply() { return key; } }; } public Object b(final int value) { return new IntProcedure() { public int apply() { return value; } }; } } >Fix: >Release-Note: >Audit-Trail: >Unformatted: