> 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".
I think it is clear that Java bytecode, which can even be executed
directly by some microprocessors, is not a "compiler intermediate
representation."
That is beside the point. It is not a high level language. Hence,
when you use gcc to compile Java bytecode to Target Code, this is not
an eligible compilation process.
When you use a non-GPL-compatible java frontend to compile Java
source to
bytecode and then use GCC to compile this to Target Code, it is not
an eligble compilation process either, because you used a non-GPL-
compatible
frontend.