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 35 // CHECK-NONFRAGILE: "OBJC_CLASS_$_Foo" = global 36