Over the past few months I have been working on re-adding gcj back into gcc, as the fundamental issue holding it back (the need to create an open-source implementation of java from the ground up) has since been solved by the opening of the JDK.
Unfortunately, as the old gcj code is several years old, it does not work nicely with the current code and is largely incomplete. I have gotten it into a state where gcc will compile with default options, unless you forcibly enable java. The issues I am now encountering are far beyond my skill level, and would require someone with much more familiarity with the gcc tree than me and general coding experience. This leaves a few options for creating a functional Java compiler using the OpenJDK. 1. Add the code in its current state to the current gcc tree, and have it gradually get repaired to a state of feature parity with when it was removed, then replace the Classpath with the OpenJDK. (There are a variety of options for this as well, but I aim to implement it in a way similar to C/C++ standards.) 2. Try and identify the breaking changes, speak to the people who made them (or other people familiar with the relevant areas of the gcc tree) and get their assistance in extending those changes to the gcj source files. 3. Replace Classpath with OpenJDK in GCC 6, (following the same C/C++ standards idea as above), as this would not require any changes to source files and would work seamlessly. However, this is obviously not optimal, and I would prefer to avoid it. Which option do people think is the best?