On 1 Aug 2008, at 15:59, Gregory John Casamento wrote:
Yes, there is an effort to do this. David Chisnall is working on a
runtime for LLVM to do this. I'm not sure if it's going to happen
in gcc, but it might happen in LLVM.
In summary, I think there are three efforts underway to do this:
1) Someone at Apple, whose name escapes me, is backporting their
front-end changes to GNU GCC. This will add all of the features
that don't require runtime support (properties and so on) to GNU GCC.
2) Nikolaus is working on a preprocessor, which can parse ObjC 2.0
and emit ObjC 1.0 code with new features turned in to pure C calls.
3) I am working on adding GNU and Étoilé runtime code generation sup
port to the new LLVM ObjC front end. The Étoilé runtime should supp
ort all the features of ObjC 2.0, the GNu runtime should support mos
t of them.
Eventually we will have a break-the-world release of Étoilé which de
pends on the features of the Étoilé runtime, but this won't happen u
ntil LLVM's ObjC support is significantly more mature.
As far as I know, there are still legal issues with using LLVM to
compile programs targeting the GNU runtime. Since the GNU runtime is
GPL'd and has a weaker exception than the other GCC libs (only
applies to code compiled with GCC), we can't use LLVM to compile GPL-
incompatible code, such as LuceneKit, while targeting the GNU
runtime (the Étoilé runtime is BSDL, so this is not a problem). Gre
gory was going to ask the FSF if it would be possible to modify this
exception to the same 'compiled with a Free Software compiler' exce
ption found in libgcc, but I don't know what the status of this is.