Summary: | wrong bytecode generated for static inner class with private constructor | ||
---|---|---|---|
Product: | gcc | Reporter: | Jeff Sturm <jsturm> |
Component: | java | Assignee: | Not yet assigned to anyone <unassigned> |
Status: | RESOLVED FIXED | ||
Severity: | minor | CC: | gcc-bugs, java-prs, mark, tromey |
Priority: | P3 | Keywords: | wrong-code |
Version: | 3.4.0 | ||
Target Milestone: | 4.3.0 | ||
Host: | Target: | ||
Build: | Known to work: | ||
Known to fail: | Last reconfirmed: | 2005-09-30 13:33:55 | |
Bug Depends on: | 28067 | ||
Bug Blocks: | 18131 |
Description
Jeff Sturm
2003-01-19 18:16:01 UTC
State-Changed-From-To: open->analyzed State-Changed-Why: Still a bug Note to get the error when running with Sun's java, you have to use -Xfuture. *** Bug 19870 has been marked as a duplicate of this bug. *** Hmm, even though GCJ -C produces the same bytecode for Outer as far as I can see, we now produce something which actually works with both gij and java (with -Xfuture). This no longer fails due to a change that went in as part of the fix for PR 8618. In particular, we now emit the 'Inner' constructor as package-private, not private. This is kind of a slacker approach to implementing accessors. For constructors and static methods it probably has the desired effect without doing harm, though I haven't considered it in great detail. For ordinary methods it might be a problem due to overriding. This PR should only be marked as "fixed" if there is another PR for the case of accessors for methods and fields. Even then it isn't entirely clear if this is more hack or more fix. All gcj front end bugs have been fixed by the gcj-eclipse branch merge. I'm mass-closing the affected PRs. If you believe one of these was closed in error, please reopen it with a note explaining why. Thanks. |