From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8430 invoked by alias); 7 Jun 2006 00:41:57 -0000 Received: (qmail 8413 invoked by uid 48); 7 Jun 2006 00:41:57 -0000 Date: Wed, 07 Jun 2006 00:41:00 -0000 Subject: [Bug java/27925] New: Trampolines not generated for private inner class methods. X-Bugzilla-Reason: CC Message-ID: Reply-To: gcc-bugzilla@gcc.gnu.org To: java-prs@gcc.gnu.org From: "csm at gnu dot org" 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 X-SW-Source: 2006-q2/txt/msg00371.txt.bz2 List-Id: The attached test case compiles to bytecode wrong. It should generate a package-private accessor function in the inner class that calls the private method, which the containing class calls. Instead, the containing class calls the private method directly, and no trampoline is created in the inner class. This violates access rules, and thus the test case will not run. Steps to reproduce: gcj -C xxx.java gij xxx Expected results: A line "This is foo!" is printed. Actual results: An exception is thrown: Exception in thread "main" java.lang.IllegalAccessError: xxx: xxx$blargh.foo()V at xxx.main(xxx.java:5) $ gcj --version gcj (GCC) 4.2.0 20060606 (experimental) -- Summary: Trampolines not generated for private inner class methods. Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: java AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: csm at gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27925