1 // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fobjc-runtime=macosx-fragile-10.5 -fobjc-gc -emit-llvm -o %t %s 2 // RUN: grep objc_assign_global %t | count 3 3 // RUN: grep objc_assign_strongCast %t | count 2 4 // RUN: %clang_cc1 -x objective-c++ -triple x86_64-apple-darwin10 -fobjc-runtime=macosx-fragile-10.5 -fobjc-gc -emit-llvm -o %t %s 5 // RUN: grep objc_assign_global %t | count 3 6 // RUN: grep objc_assign_strongCast %t | count 2 7 8 @interface A 9 @end 10 11 typedef struct s0 { 12 A *a[4]; 13 } T; 14 15 T g0; 16 17 void f0(id x) { 18 g0.a[0] = x; 19 } 20 21 void f1(id x) { 22 ((T*) &g0)->a[0] = x; 23 } 24 25 void f2(unsigned idx) 26 { 27 id *keys; 28 keys[idx] = 0; 29 } 30 31