This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: New GCC Runtime Library Exception



On Jan 29, 2009, at 7:38 AM, Joern Rennecke wrote:


> 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.

This issue is also somewhat confusing to me. It is a moot point, because LLVM is GPL compatible, but is LLVM .ll language considered a target code, intermediate representation, or a "high-level, non- intermediate language"? It is not clear to me how LLVM .ll files are different from .c files that are used as intermediates between bison and a C compiler.


LLVM .ll files are a fully documented language and people write them by hand all the time. It is quite arguably much higher level that machine code (having concepts like "call with arguments", a type system, etc), and is fully specified (http://llvm.org/docs/ LangRef.html). It seems quite possible to argue that it is a "high- level, non-intermediate language" (at least at least as much as C is).

Is the wording intended to allow LLVM .ll files as "high-level, non- intermediate language", or are they considered an IR? What is the dividing line? It seems that this is a very important issue for the entire license.

-Chris


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]