| Fariborz Jahanian | 50c925f | 2010-10-19 17:19:29 +0000 | [diff] [blame] | 1 | // RUN: %clang_cc1 -triple i386-apple-darwin9 -fno-constant-cfstrings -fconstant-string-class Foo -emit-llvm -o %t %s | 
|  | 2 | // RUN: FileCheck --check-prefix CHECK-FRAGILE < %t %s | 
|  | 3 |  | 
|  | 4 | // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fobjc-nonfragile-abi -fno-constant-cfstrings -fconstant-string-class Foo -emit-llvm -o %t %s | 
|  | 5 | // RUN: FileCheck --check-prefix CHECK-NONFRAGILE < %t %s | 
|  | 6 |  | 
|  | 7 | // rdar: // 8564463 | 
|  | 8 | // PR6056 | 
|  | 9 |  | 
|  | 10 | @interface Object { | 
|  | 11 | id isa; | 
|  | 12 | } | 
|  | 13 | @end | 
|  | 14 |  | 
|  | 15 | @interface Foo : Object{ | 
|  | 16 | char *cString; | 
|  | 17 | unsigned int len; | 
|  | 18 | } | 
|  | 19 | - (char *)customString; | 
|  | 20 | @end | 
|  | 21 |  | 
|  | 22 | id _FooClassReference[20]; | 
|  | 23 |  | 
|  | 24 | @implementation Foo | 
|  | 25 | - (char *)customString { return cString ; } | 
|  | 26 | @end | 
|  | 27 |  | 
|  | 28 | int main () { | 
|  | 29 | Foo *string = @"bla"; | 
|  | 30 | return 0; | 
|  | 31 | } | 
|  | 32 |  | 
|  | 33 | // CHECK-FRAGILE: @_FooClassReference = common global | 
|  | 34 | // CHECK-NONFRAGILE: @"OBJC_CLASS_$_Object" = external global | 
| Rafael Espindola | d661a85 | 2011-01-18 21:07:57 +0000 | [diff] [blame^] | 35 | // CHECK-NONFRAGILE: "OBJC_CLASS_$_Foo" = unnamed_addr global |