discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Typedef errors when building llvm/clang/gnustep


From: James Carthew
Subject: Re: Typedef errors when building llvm/clang/gnustep
Date: Wed, 27 Mar 2013 19:41:27 +1030

I had been checking out libobjc2, the previous e-mail had a typo. As far as I understand it LLVM 3.3 came out today, but as I was saying I'd been having issues building llvm/clang/gnustep. I'll give it another go and see if I can make some headway on it :)


On 27 March 2013 19:36, David Chisnall <theraven@sucs.org> wrote:
Hi,

On 26 Mar 2013, at 23:43, James Carthew <jcarthew@gmail.com> wrote:

> Checking out the daily libobjc from dev-libs on gnustep SVN repository

You want libobjc2, not libobjc.  The libobjc in GNUstep svn is a fork of an old version of the GCC runtime with some bug fixes back-ported, so that it can work with old versions of GCC.  It shouldn't be needed anymore.

> and daily llvm/clang svn. Is the llvm/clang svn needed anymore? or is it safe to use a release version such as 3.2 or 3.3 of LLVM?

No, although there are improvements in clang trunk relating to property introspection and interoperability with C++ and Objective-C exceptions.  If you don't require these then 3.2 is fine (3.3 is not released yet).

> I'd like to have full support for Objc-2.0 and garbage collection etc. If possible as I'm looking at picking at some of the project ideas/missing features of the gui/base libraries.

Garbage collection will work in theory, however:

- You must build libobjc2 with it enabled (ccmake has an option for this)

- You must build all of GNUstep with GC support enabled (-fobjc-gc, or -fobjc-gc-only)

- It is now deprecated by Apple, so I doubt we will put much effort into ensuring it works

- It has a poorly designed memory model and it is very easy to accidentally store ObjC pointers in malloc'd or global memory that is not visible to the garbage collector.  These bugs are very hard to track down.

ARC, however, works well (trunk libobjc2 fixes some corner cases).

David



--
This email complies with ISO 3103



reply via email to

[Prev in Thread] Current Thread [Next in Thread]