+ * 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 ?