[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: sync.m
From: |
David Chisnall |
Subject: |
Re: sync.m |
Date: |
Mon, 1 Mar 2010 12:44:21 +0000 |
On 1 Mar 2010, at 00:12, Riccardo Mottola wrote:
> As long of course as core itself doesn't require libobjc-2 feature (which I
> hope will be never, but that's tough to say).
I don't have any plans for core to require anything in libobjc2, per se.
There is currently one feature in -base that requires the new ABI;
-forwardingTargetForSelector: on NSObject. I wrote a hacky implementation that
will try to make this work with the old ABI (using -forwardInvocation:) but
it's unreliable. This is quite a new feature on the Apple side, however. It
doesn't give any more expressiveness, just a bit more speed. I think the other
runtime hooks in NSObject that allow classes and objects to lazily install
methods will also only work with libobjc2.
Nothing in -base or -gui uses these (well, NSContentAccessingProxy does, but it
has fall-back code for when they are not present, so it doesn't /require/
them). If third-party apps do, then that's beyond our control. Depending on
them limits you to very recent versions of OS X, but given that people seem to
be dropping support for 10.4 already that's possibly not a problem for Mac
developers.
On 1 Mar 2010, at 06:07, Richard Frith-Macdonald wrote:
> Nobody is breaking things gratuitously. The c99isms slip in to code simply
> because all modern compilers support them, and don't warn you that older
> compilers won't. Most people use them habitually (locality of declaration of
> variables is particularly good for code readability for instance) and simply
> won't notice that they have used them.
Additionally, a load of C99 features (e.g. VLAs, which GNUstep has used for
ages) are implemented as extensions by GCC 2.95. Without access to it, it's
difficult to keep track of exactly which subset of C99 will work with any given
compiler version. GCC is terrible at documenting when features appeared; they
expect everyone to use the latest version.
David
-- Sent from my Cray X1
- Re: sync.m, Richard Frith-Macdonald, 2010/03/01
- Re: sync.m,
David Chisnall <=
- Re: sync.m, Gregory Casamento, 2010/03/01
- Re: sync.m, Nicola Pero, 2010/03/01
- Re: sync.m, Richard Frith-Macdonald, 2010/03/03
- Re: sync.m, David Chisnall, 2010/03/03
- Re: sync.m, Riccardo Mottola, 2010/03/03
- Re: sync.m, David Chisnall, 2010/03/03
- Re: sync.m, Markus Hitter, 2010/03/05