help-gnustep
[Top][All Lists]
Advanced

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

Re: Native ObjC exception problem.


From: Mehul N. Sanghvi
Subject: Re: Native ObjC exception problem.
Date: Wed, 24 Aug 2005 10:01:26 -0400
User-agent: Mozilla Thunderbird 1.0.6 (Windows/20050716)

Sašo Kiselkov said the following on 8/24/2005 7:18 AM:
Hi.

I'm using gcc 4.0.1 (latest Debian package) and I get the following error when
trying to compile a tool that uses the native (@try{}@catch{...}...) exceptions
model in Objective-C:

Making all for tool test...
 Compiling file test.m ...
 Linking tool test ...
./shared_obj/test.o:(.gnu.linkonce.d.DW.ref._OBJC_CLASS_NAME_4[DW.ref._OBJC_CLASS_NAME_4]+0x0):
undefined reference to `_OBJC_CLASS_NAME_4'
collect2: ld returned 1 exit status
make[1]: *** [shared_obj/test] Error 1
make: *** [test.all.tool.variables] Error 2

The funny thing is I get it only when I actually use @try{}, but if I just
@throw an object it works, compiles nicely a makes the tool abort() (since the
exception isn't handled).
Do I need to upgrade to gcc 4.1 or can I cut out the libobjc 4.1 out of it in
some way? I'd like to avoid making a completely new gcc 4.1, since I have a
rather slow computer and compiling it would take days.

Regards
 Saso



Saso,

   According to http://gcc.gnu.org/gcc-3.4/changes.html#3.4.4

The Objective-C front end has been updated to include the numerous bug fixes and enhancements previously available only in Apple's version of GCC. These include:

* Structured exception (@try... @catch... @finally, @throw) and synchronization (@synchronized) support. These are accessible via the -fobjc-exceptions switch; as of this writing, they may only be used in conjunction with -fnext-runtime on Mac OS X 10.3 and later. See Options Controlling Objective-C Dialect for more information.


   1.  Is the makefile passing the -fobjc-exceptions and -fnext-runtime
       switches to gcc ?

   2.  Are you on MacOSX 10.3 or above ?  (This is a no, based on your
       the fact that you are using Debian).


That's about the end of my knowledge for Objective-C.  I know you are
using 4.0.1, but when looking at the changes for 4.0.1 there was no
mention of any more improvements to @try or if you could use it on
non-MacOSX systems.  Neither is there a mention of it in 4.1, so you'd
be wasting time trying to build it :)

Hope this helps.


cheers,

     mehul



--
Mehul N. Sanghvi
email: mehul.sanghvi@gmail.com




reply via email to

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