The difference is that the front end does not work on source code, but
Java bytecode, which seems closer to intermediate representation than
to a "high-level, non-intermediate language". If I'm not mistaken,
there is currently no usable Java-to-bytecode compiler with a license
that is GPLv3-compatible (according to the Free Software Foundation's
license interpretations).
Other cases are rather unclear, too. A hypothetical QPL-licensend
compiler which links against libgcc (Objective Caml apparently
doesn't) cannot produce an Eligible Compilation Process because it is
a work based on GCC (thanks to libgcc), and not everything is
GPL-licensed. Interpreters capable of producing ELF binaries might
also be affected by a similar issue.
I think using non-GPL Free Software is in the spirit of what we are trying
to archive, while exposing non-high-level input languages for the use with
gcc to arbitrarily licensed optimizers is not.
Therefore, I think it would be best to amend the definition of an Eligible
Compilation Process.
I.E.:
replace definition of "GPL-compatible Software" with:
"Free Compilation Software" is software distributed under a license that
was approved as a free software license by the FSF at the time that the
code covered by the GCC Runtime Library Exception was released by the FSF,
or any later license that the FSF grants for the distribution of GCC,
and for which source code was available for the person generating Target
Code when generating the Target Code.
A Compilation Process is "Eligible" if it is done using GCC, alone or
with other Free Compilation Software, or if it is done without using
any work based on GCC. For example, using Software not qualifying as
Free Compilation Software
to optimize any GCC intermediate representations would not qualify as an
Eligible Compilation Process..