[PATCH] Fix some Objective-C failures on *-*-darwin* (next runtime)
Ziemowit Laski
zlaski@apple.com
Thu Jul 17 19:13:00 GMT 2003
Actually, I have been informed by the runtime folks here at Apple (who
are separate
from the compiler team :-) ) that the correct way to fix these test
cases (which I
haven't yet committed to objc-improvements-branch, but stay tuned) is
simply to add
#ifdef __NEXT_RUNTIME__
+ initialize { return self; }
#endif
to the @implementation of the root class. If the root class does not
have a 'initialize',
the NeXT runtime will then attempt to invoke 'forward', which led to
the error messages
you guys were seeing.
--Zem
On Thursday, Jul 17, 2003, at 07:13 US/Pacific, Nicola Pero wrote:
>
>>> Hi Andrew,
>>>
>>> what about telling us a bit more why this patch is required ?
>>>
>>> Having some root classes in the testsuite is good, as defining a new
>>> root
>>> class is one of the Objective-C features we want to test after all.
>>> It's
>>> not clear why you want everything to inherit from Object. As far as
>>> I
>>> know, if defining a new root class fails, that's a bug to fix - you
>>> shouldn't be modifying the testcase, but fixing the bug in the
>>> compiler!
>>>
>>> I don't have the Apple Objective-C runtime (which is not free
>>> software
>>> btw) so I don't even know what problems you are trying to solve.
>>> Could
>>> you let us know what the errors are ?
>>
>> The runtime error is "Test does not respond to forward::" so the "bug"
>> is that the
>> Next runtime requires forward:: to be a message for every base class.
>> Having the classes
>> inherit from Object makes the classes have the forward:: message which
>> fixes the error.
>
> Thanks. That's useful.
>
> I think the proper fix for the testcase then is to add forward::, that
> is,
> adding to the class definitions something like the following
>
> #ifdef __NEXT_RUNTIME__
> - (retval_t) forward: (SEL)aSel : (arglist_t)argFrame
> {
> return nil;
> }
> #endif
>
> That would be Ok for me.
>
>
--------------------------------------------------------------
Ziemowit Laski 1 Infinite Loop, MS 301-2K
Mac OS X Compiler Group Cupertino, CA USA 95014-2083
Apple Computer, Inc. +1.408.974.6229 Fax .5477
More information about the Gcc-patches
mailing list