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
A line "This is foo!" is printed.
An exception is thrown:
Exception in thread "main" java.lang.IllegalAccessError: xxx: xxx$blargh.foo()V
$ gcj --version
gcj (GCC) 4.2.0 20060606 (experimental)
Created attachment 11618 [details]
*** This bug has been marked as a duplicate of 19870 ***