| 1 | // Check miscellaneous Objective-C options. |
| 2 | |
| 3 | // RUN: %clang -target x86_64-apple-darwin10 -S -### %s \ |
| 4 | // RUN: -arch x86_64 -fobjc-abi-version=1 2> %t |
| 5 | // RUN: FileCheck --check-prefix CHECK-CHECK-X86_64_ABI1 < %t %s |
| 6 | |
| 7 | // CHECK-CHECK-X86_64_ABI1: "-cc1" |
| 8 | // CHECK-CHECK-X86_64_ABI1: -fobjc-runtime=macosx-fragile-10.6.0 |
| 9 | // CHECK-CHECK-X86_64_ABI1-NOT: -fobjc-dispatch-method |
| 10 | // CHECK-CHECK-X86_64_ABI1: darwin-objc-options |
| 11 | |
| 12 | // RUN: %clang -target x86_64-apple-darwin10 -S -### %s \ |
| 13 | // RUN: -arch i386 -fobjc-abi-version=2 2> %t |
| 14 | // RUN: FileCheck --check-prefix CHECK-CHECK-I386_ABI2 < %t %s |
| 15 | |
| 16 | // CHECK-CHECK-I386_ABI2: "-cc1" |
| 17 | // CHECK-CHECK-I386_ABI2: -fobjc-runtime=macosx-10.6.0 |
| 18 | // CHECK-CHECK-I386_ABI2: -fobjc-exceptions |
| 19 | // CHECK-CHECK-I386_ABI2: -fexceptions |
| 20 | // CHECK-CHECK-I386_ABI2-NOT: -fobjc-dispatch-method |
| 21 | // CHECK-CHECK-I386_ABI2: darwin-objc-options |
| 22 | |
| 23 | // RUN: %clang -target x86_64-apple-darwin10 -S -### %s \ |
| 24 | // RUN: -arch i386 -fobjc-runtime=ios-5.0 2> %t |
| 25 | // RUN: FileCheck --check-prefix CHECK-CHECK-I386_IOS < %t %s |
| 26 | |
| 27 | // CHECK-CHECK-I386_IOS: "-cc1" |
| 28 | // CHECK-CHECK-I386_IOS: -fobjc-runtime=ios-5.0 |
| 29 | // CHECK-CHECK-I386_IOS: -fobjc-exceptions |
| 30 | // CHECK-CHECK-I386_IOS: -fexceptions |
| 31 | // CHECK-CHECK-I386_IOS-NOT: -fobjc-dispatch-method |
| 32 | // CHECK-CHECK-I386_IOS: darwin-objc-options |
| 33 | |
| 34 | // Don't crash with an unexpected target triple. |
| 35 | // RUN: %clang -target i386-apple-ios7 -S -### %s |
| 36 | |