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)
Created attachment 11618 [details] Test case. Test case.
*** This bug has been marked as a duplicate of 19870 ***