Thank you Nicola, with the last week's snapshot it seems to work.

Stefan

On 2002-09-19 12:11:17 +0200 Nicola Pero <[EMAIL PROTECTED]> wrote:

> 
> Hi Stefan,
> 
> this is a bug in the compiler ... all GCC ObjC compilers have it ...
> except GCC 3.3 from CVS because I fixed it on GCC CVS one week ago :-)
> 
> The bug can be summarized shortly: objects created using @protocol() will
> always crash when you send a message to them, unless a class implementing
> that protocol is compiled in the same compilation unit.
> 
> So a workaround for older compilers is to add
> 
> @interface FakeClass <NSObject>
> @end
> 
> @implementation FakeClass
> @end
> 
> to your ObjC code.
> 
> GCC >= 3.3 does not have this problem.
> 
>> Hi,
>> 
>> I get segfault when sending a message to a protocol. [snip]
>> 
>> Here is bactrace:
>> 
>> #0  0x4023ec6f in objc_msg_lookup () from /usr/local/lib/libobjc.so.1
>> #1  0x080488ec in gnustep_base_user_main (argc=1, argv=0xbffff324) at test.m:16
>> #2  0x40148859 in main ()
>>      from 
>/usr/GNUstep/System/Libraries/ix86/linux-gnu/gnu-gnu-gnu/libgnustep-base.so.1
>> #3  0x4034714f in __libc_start_main () from /lib/libc.so.6
>> 
>> And here is an example that will crash:
>> 
>> ----
>> 
>> #import <Foundation/NSAutoreleasePool.h>
>> #import <Foundation/NSObject.h>
>> #import <Foundation/NSString.h>
>> 
>> int main(int argc, const char **argv)
>> {    
>>       NSAutoreleasePool *pool;
>>       Protocol          *p;
>> 
>>       pool = [NSAutoreleasePool new];
>> 
>>       p = @protocol(NSObject);
>>       NSLog(@"Protocol test %p",p);
>>       /* Crash here ...*/
>>       NSLog(@"Description   %p",[p descriptionForInstanceMethod:@selector(class)]);
>> 
>>       RELEASE(pool);
>> 
>>       return 0;
>> }
>> 
>> ----
>> 
>> Whan should be wrong?
>> 
>> Thank you,
>> 
>> Stefan
>> 
>> 
>> 
>> _______________________________________________
>> Bug-gnustep mailing list
>> [EMAIL PROTECTED]
>> http://mail.gnu.org/mailman/listinfo/bug-gnustep
>> 
> 
> 
> 

-- 
http://urbanek.host.sk



_______________________________________________
Bug-gnustep mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-gnustep

Reply via email to