]> granicus.if.org Git - clang/commitdiff
Additional tests for write-bariers.
authorFariborz Jahanian <fjahanian@apple.com>
Wed, 16 Sep 2009 23:38:26 +0000 (23:38 +0000)
committerFariborz Jahanian <fjahanian@apple.com>
Wed, 16 Sep 2009 23:38:26 +0000 (23:38 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82092 91177308-0d34-0410-b5e6-96231b3b80d8

test/CodeGenObjC/objc-assign-ivar.m

index f78b2eea6bd90cbcfed6994f85a654c7045e3f57..002b5c156eecf2963052effc29a88268e9b87536 100644 (file)
@@ -1,5 +1,5 @@
 // RUN: clang-cc -fnext-runtime -fobjc-gc -fobjc-newgc-api -emit-llvm -o %t %s &&
-// RUN: grep -F '@objc_assign_ivar' %t  | count 11 &&
+// RUN: grep -F '@objc_assign_ivar' %t  | count 14 &&
 // RUN: true
 
 typedef struct {
@@ -22,6 +22,9 @@ typedef struct {
   id nsobject;
   NSString *stringArray[10];
   struct_with_ids_t inner;
+
+  Foo *obj[20];
+  short idx[5];
 }
 @end
 
@@ -42,6 +45,10 @@ void testIvars() {
   ASSIGNTEST(foo->inner.elementArray[0], IvarAssigns);                  // objc_assign_ivar
   ASSIGNTEST(foo->inner.cfElement, IvarAssigns);                        // objc_assign_ivar
   ASSIGNTEST(foo->inner.cfElementArray[0], IvarAssigns);                // objc_assign_ivar
-
+  int counter=1;
+  ASSIGNTEST(foo->obj[5], IvarAssigns);                 // objc_assign_ivar
+  ASSIGNTEST(foo->obj[++counter], IvarAssigns);         // objc_assign_ivar
+  foo->idx[++counter] = 15;
+  ASSIGNTEST(foo->obj[foo->idx[2]], IvarAssigns);       // objc_assign_ivar
 }