[Top][All Lists]

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

Re: New -base release?

From: David Chisnall
Subject: Re: New -base release?
Date: Thu, 4 Aug 2011 14:29:27 +0100

On 2 Aug 2011, at 19:02, Richard Frith-Macdonald wrote:

> And nowadays we really need to test builds with clang, new runtime, and with 
> the latest gcc and the new gcc runtime, and we have two new GC variants ...

I regularly run the test suite with FreeBSD/x86-32 and Linux/x86-64, both with 
the non-fragile ABI for everything (clang + libobjc2).

> So three different compiler/runtime setups at least, various cpu 
> architectures, and now four memory management schemes (trad retain/release, 
> gc with gnu runtime, gc with new runtime, automated retain/release).
> That's a lot to get tested ... so the timescale may not be realistic :-(

ARC is not a new scheme, it's intended to be compatible with manual retain / 
release.  You can't mix ARC and non-ARC code in the same compilation unit, but 
you can mix them in different .o files in the same project.  Most of the 
ARC-related changes are tweaking method declarations so that they can be called 
from ARC.  GNUstep is not built with ARC - that would require some massive and 
invasive changes to the code - it is just used with code that is compiled in 
ARC mode.  

Think of ARC like C99 or C++ - you can mix GNUstep's Objective-C89 code with 
Objective-C99 or or Objective-C++0x code in other projects, as long as the 
GNUstep headers are compatible with these languages.

I'm happy to call the Apple-compatible GC mode experimental in the next 
release.  Apple seems to be ditching this mode in the long term (everyone at 
Apple except the 5 guys on the autozone team hates it) so it's mainly of 
interest to people who are porting code that only worked on OS X >=10.5 (not 
iOS or OS X <=10.4) to GNUstep, so I'm not sure it's of much interest in the 
long term as more than a tick in a feature checklist.


-- Sent from my IBM 1620

reply via email to

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