|
From: | David Chisnall |
Subject: | Re: LLVM |
Date: | Sat, 1 Mar 2008 13:25:36 +0000 |
On 1 Mar 2008, at 13:12, Helge Hess wrote:
Finally: I do not think that we can get away with it that easily. As everyone knows there is Objective-C 2.0, and GNUstep do esnot support it. Which is a major reason why I personally slowed down my 'investment' into ObjC. (an environment separate to Cocoa is pretty much like using the 'objc' compiler from David Stes ;-) I have no idea when the GNU runtime and GNU GCC will support a compatible alternative. ObjC 2.0 has been around for 12 months? and no one worked on it. Hence I have very little hopes on this :-((I talked a bit about GC with Richard at FOSDEM, but we'll see ...)
Most of the new 'features' of Objective-C 2.0 are in the compiler, rather than the runtime. The few that need runtime support can get it from my runtime, which has a Self-like object model and provides a superset of the required functionality (the design goal was to support Io and Objective-C 2.0 in the same runtime).
I looked at adding support for it to GCC, but the GCC Objective-C code is about 10,000 lines of completely unreadable C and preprocessor macros mangled together. With clang, I have created a CGObjCRuntime abstract class which implements the runtime-specific parts. There are then concrete subclasses for this for each runtime. If Apple add new features, they will add methods to CGObjCApple (or whatever) and we just have to add equivalents to CGObjCGNU (currently the only concrete subclass of CGObjCRuntime) and / or CGObjCEtoile.
PS: the most convincing argument against LLVM I've heard so far is the target platform issue. Thats a pretty serious one.
LLVM supports x86, ARM, SPARC and PowerPC with experimental MIPS, Alpha and IA64 support. What other platforms does GNUstep support?
DavidP.S. If anyone is interested in working on this, the I would encourage you to come to the Étoilé hackathon and we can go through the code face-to-face.
[Prev in Thread] | Current Thread | [Next in Thread] |