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


Reply via email to