[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