This corrects a mistake I made when splitting the runtime code up -
which causes the GNU eh personality routine to be specified for NeXT
ABI 0&1.
This causes a linkage error if "-fexceptions" is specified for NeXT @
m32
(although there's no functional effect, since there is no ZCE
implementation of ObjC exceptions at m32).
tested on powerpc,i686-darwin9 and x86-64-darwin10. -m32/-fobjc-abi-
version=0,-m32/-fobjc-abi-version=1,-m64
OK for trunk/4.6?
Iain
gcc/objc:
* objc-next-runtime-abi-01.c (objc_eh_personality): Use gcc personality
for Objective-C m32.
Index: gcc/objc/objc-next-runtime-abi-01.c
===================================================================
--- gcc/objc/objc-next-runtime-abi-01.c (revision 181250)
+++ gcc/objc/objc-next-runtime-abi-01.c (working copy)
@@ -2872,12 +2872,15 @@ make_err_class:
return eh_id;
}
+/* For NeXT ABI 0 and 1, the personality routines are just those of
the underlying
+ language. */
+
static tree
objc_eh_personality (void)
{
if (!objc_eh_personality_decl)
#ifndef OBJCPLUS
- objc_eh_personality_decl = build_personality_function ("objc");
+ objc_eh_personality_decl = build_personality_function ("gcc");
#else
objc_eh_personality_decl = build_personality_function ("gxx");
#endif