Home | History | Annotate | Download | only in CodeGenObjC
      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