gnustep-dev
[Top][All Lists]
Advanced

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

Re: [Gnustep-cvs] Commit Update


From: David Ayers
Subject: Re: [Gnustep-cvs] Commit Update
Date: Mon, 21 Jun 2004 15:22:47 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7) Gecko/20040616

Nicola Pero wrote:
+       * configure.ac: Detect native exception handler support in the
+       compiler, and set HAS_OBJC_EXCEPTIONS to yes if it's there.
+       * configure: Regenerated.
+       * config.make.in: New variable HAS_OBJC_EXCEPTIONS.
+       * common.make: If HAS_OBJC_EXCEPTIONS is set, add
+       -fobjc-exceptions to the ObjC flags.
+       

Hello Nicola,

I'm not sure we want to do this in this way. Mixing -fobjc-exceptions code with old style exception code will most likely cause serious problems. (AFAICT, unlike Apple, we actually use GCC's native exception handling features already where as Apple still does setjmp/longjmp for the new constructs for backward compatibility.) An update in gcc shouldn't require you to recompile everything. I think we should only activate the feature if explicitly requested by the user as a ./configure option.

Or did I miss something?

[...]

But, this change was only the first step in the plan ...

The next bit will be to actually update gnustep-base so that when
HAS_OBJC_EXCEPTIONS is set, NS_DURING will be a wrapper around @try, and
similar stuff, so that all exceptions will be native,


Thinking about it, if Adam is preparing a new major release and we are
sort of in prerelease status, it's probably not the right moment to put
such a major change in. :-)

So maybe we should keep the option in a ./configure flag so we can develop
and play with it, but it will be disabled by default for now (that
includes omitting -fobjc-exceptions for now too).

After the release, we can change the default settings to turn it on by
default.

Makes sense ?


I think there are very different ways people use -base cvs. I, for one, do not recompile everything if I update -make/-base unless I know I have to. Also I use/test code snippets with different (often older) compiler versions without reinstalling everything.

I believe implying that we are "waiting forever" for a feature that was added to GCC's mainline last week (wrt to the GNU runtime) and isn't even fully implemented yet (wrt @synchronize) is a bit out of perspective. How many GNUstepers have actually tried this feature yet? I think we should really wait until at least after the 3.5 (or whatever it's called) release of GCC and then give us (and users) some time to play with it before considering whether we want to make it the default.

Cheers,
David




reply via email to

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