[Patch] m32 powerpc-darwin should default to fragile ObjC ABI.

David Fang fang at csl.cornell.edu
Wed Jan 22 00:00:29 PST 2014


How about this addition to an existing testcase?  (attached)

> On 8 January 2014 12:10, Iain Sandoe <iain at codesourcery.com> wrote:
>> bump?
>
> Needs a testcase.
>
> I know nothing about objc ABIs, but you and David Fang own darwin-ppc
> these days, so LGTM with the test.
>
> Cheers,
> Rafael
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>

-- 
David Fang
http://www.csl.cornell.edu/~fang/
-------------- next part --------------
diff --git a/lib/Driver/ToolChains.h b/lib/Driver/ToolChains.h
index d5d0581..fbdc120 100644
--- a/lib/Driver/ToolChains.h
+++ b/lib/Driver/ToolChains.h
@@ -276,8 +276,9 @@ public:
   }
 
   virtual bool IsObjCNonFragileABIDefault() const {
-    // Non-fragile ABI is default for everything but i386.
-    return getTriple().getArch() != llvm::Triple::x86;
+    // Non-fragile ABI is default for everything but i386 and ppc.
+    return (getTriple().getArch() != llvm::Triple::x86
+      && getTriple().getArch() != llvm::Triple::ppc);
   }
 
   virtual bool UseObjCMixedDispatch() const {
diff --git a/test/Driver/darwin-objc-defaults.m b/test/Driver/darwin-objc-defaults.m
index 1742deb..3f7e634 100644
--- a/test/Driver/darwin-objc-defaults.m
+++ b/test/Driver/darwin-objc-defaults.m
@@ -1,5 +1,25 @@
 // Check non-fragile ABI and dispatch method defaults.
 
+// ppc
+
+// RUN: %clang -target x86_64-apple-darwin10 -S -### %s \
+// RUN:   -arch ppc -mmacosx-version-min=10.4 2> %t
+// RUN: FileCheck --check-prefix CHECK-CHECK-PPC_OSX10_4 < %t %s
+
+// CHECK-CHECK-PPC_OSX10_4: "-cc1"
+// CHECK-CHECK-PPC_OSX10_4: -fobjc-runtime=macosx-fragile-10.4
+// CHECK-CHECK-PPC_OSX10_4-NOT: -fobjc-dispatch-method
+// CHECK-CHECK-PPC_OSX10_4: darwin-objc-defaults
+
+// RUN: %clang -target x86_64-apple-darwin10 -S -### %s \
+// RUN:   -arch ppc -mmacosx-version-min=10.5 2> %t
+// RUN: FileCheck --check-prefix CHECK-CHECK-PPC_OSX10_5 < %t %s
+
+// CHECK-CHECK-PPC_OSX10_5: "-cc1"
+// CHECK-CHECK-PPC_OSX10_5: -fobjc-runtime=macosx-fragile-10.5
+// CHECK-CHECK-PPC_OSX10_5-NOT: -fobjc-dispatch-method
+// CHECK-CHECK-PPC_OSX10_5: darwin-objc-defaults
+
 // i386
 
 // RUN: %clang -target x86_64-apple-darwin10 -S -### %s \


More information about the cfe-commits mailing list