discuss-gnustep
[Top][All Lists]
Advanced

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

Re: Objective-C 2.0


From: David Chisnall
Subject: Re: Objective-C 2.0
Date: Wed, 11 Nov 2009 10:45:17 +0000


On 10 Nov 2009, at 23:05, HalypH wrote:

I've noticed that there is activity on
http://svn.gna.org/viewcvs/gnustep/libs/libobjc2/.

That would be me. This is an effort to remove some of the cruft from the GNU runtime, let it build outside gcc, back-port some features from the Étoilé runtime and pull in the new interfaces from Étoilé's ObjectiveC2 framework.

I wonder if someone has positive experience in building and running
Objective-C 2.0 code.
If you had success could you please tell us your OS and build issues you
face?

When can we expect to have 'Objective-C 2.0' in GNUstep? Can you tell us
general ideas regarding this?

Objective-C 2 is a marketing buzzword. You will notice that GCC has no option on OS X to switch between Objective-C 1 and Objective-C 2. In general, be marketing incorporates the following:

1) Fast enumeration
2) Declared properties
3) Non-fragile ivars
4) Garbage collection

Fast enumeration will work on any code compiled with clang and linked against a recent GNUstep.

Declared properties will work on any code compiled with clang and linked against either the ObjectiveC2 framework from Étoilé, in addition to GCC libobjc, or libobjc2 instead of libobjc. At the moment, I would recommend the former. libobjc2 is working nicely as a drop-in replacement on my machine, but it hasn't been well tested. Only use it if you are willing to fix bugs.

Nonfragile ivars work if you compile with clang and -fobjc-nonfragile- abi and link against libobjc2. This requires you to avoid using @defs in your code. Unlike the apple implementation, the fragile and nonfragile ABIs can be mixed (although subclassing something compiled for the non-fragile abi with something compiled for the fragile abi will break if the superclass does not have the layout from the headers), but this is not recommended.

GNUstep itself does not need to be compiled with clang for any of these to work.

Garbage collection has existed in GNUstep for years, but I've never used it so I can't comment on how well it works.

And where can I find some GNUstep roadmap, plans or strategy list, etc.?

We have plans and strategies now?  Why wasn't I informed?

David

-- Sent from my IBM 1620





reply via email to

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