]> granicus.if.org Git - clang/commitdiff
More tests for ObjC++ GC support.
authorFariborz Jahanian <fjahanian@apple.com>
Wed, 19 May 2010 23:07:54 +0000 (23:07 +0000)
committerFariborz Jahanian <fjahanian@apple.com>
Wed, 19 May 2010 23:07:54 +0000 (23:07 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104176 91177308-0d34-0410-b5e6-96231b3b80d8

test/CodeGenObjC/atomic-aggregate-property.m
test/CodeGenObjC/blocks-1.m
test/CodeGenObjC/blocks-2.m
test/CodeGenObjC/ivar-layout-64-bitfields.m
test/CodeGenObjC/ivar-layout-64.m
test/CodeGenObjC/ivar-layout-no-optimize.m

index 2896d379e75a0d8b5897d7f15c37144d3249ac3f..93eeca82011758e72c95fcfe7da1cad50475ef8c 100644 (file)
@@ -1,4 +1,5 @@
 // RUN: %clang_cc1 -triple x86_64-apple-darwin10  -fobjc-nonfragile-abi -fobjc-gc -emit-llvm -o - %s | FileCheck -check-prefix LP64 %s
+// RUN: %clang_cc1 -x objective-c++ -triple x86_64-apple-darwin10  -fobjc-nonfragile-abi -fobjc-gc -emit-llvm -o - %s | FileCheck -check-prefix LP64 %s
 // rdar: // 7849824
 
 struct s {
index 76bfd59e41d1442ad3b6bc14abf1bc394cf56dd3..1ac9c30c8a00e171ee3d3a54cb0c0e2b40e87076 100644 (file)
@@ -8,6 +8,16 @@
 // RUN: grep "_Block_object_assign" %t | count 4
 // RUN: grep "objc_read_weak" %t | count 2
 // RUN: grep "objc_assign_weak" %t | count 3
+// RUN: %clang_cc1 -x objective-c++ %s -emit-llvm -o %t -fobjc-gc -fblocks -triple i386-apple-darwin10
+// RUN: grep "_Block_object_dispose" %t | count 6
+// RUN: grep "__copy_helper_block_" %t | count 4
+// RUN: grep "__destroy_helper_block_" %t | count 4
+// RUN: grep "__Block_byref_id_object_copy_" %t | count 2
+// RUN: grep "__Block_byref_id_object_dispose_" %t | count 2
+// RUN: grep "i32 135)" %t | count 0
+// RUN: grep "_Block_object_assign" %t | count 4
+// RUN: grep "objc_read_weak" %t | count 2
+// RUN: grep "objc_assign_weak" %t | count 3
 
 @interface NSDictionary @end
 
index 15160cc52b0631452a8f074d65abf21b217c7f3c..0062e842648b0088f59f949f707b5e7a9da1e014 100644 (file)
@@ -1,5 +1,7 @@
 // RUN: %clang_cc1 %s -emit-llvm -o %t -fobjc-gc -fblocks -triple i386-apple-darwin10
 // RUN: grep "objc_assign_strongCast" %t | count 2
+// RUN: %clang_cc1 -x objective-c++ %s -emit-llvm -o %t -fobjc-gc -fblocks -triple i386-apple-darwin10
+// RUN: grep "objc_assign_strongCast" %t | count 2
 
 // This should generate a strong cast.
 
index 1b6a16b1b8be1e60a4a691be4b6a8f8503638b1a..9710e16172dfb558b8c1bca1c5ff50632acfa152 100644 (file)
@@ -1,4 +1,5 @@
 // RUN: %clang_cc1 -triple x86_64-apple-darwin9 -fobjc-gc -emit-llvm -o %t %s
+// RUN: %clang_cc1 -x objective-c++ -triple x86_64-apple-darwin9 -fobjc-gc -emit-llvm -o %t %s
 @interface I
 {
   struct {
index 60ce1dff57de842dc72816c4dd2ba594341cc382..f227bfc30d36db1f00ad245792da378be2bd2829 100644 (file)
@@ -4,6 +4,12 @@
 // RUN: grep '@"\\01L_OBJC_CLASS_NAME_.*" = internal global .* c"\\11q\\10\\00"' %t
 // RUN: grep '@"\\01L_OBJC_CLASS_NAME_.*" = internal global .* c"!q\\00"' %t
 // RUN: grep '@"\\01L_OBJC_CLASS_NAME_.*" = internal global .* c"\\01\\14\\00"' %t
+// RUNX: llvm-gcc -ObjC++ -m64 -fobjc-gc -emit-llvm -S -o %t %s &&
+// RUN: %clang_cc1 -x objective-c++ -triple x86_64-apple-darwin10 -fobjc-nonfragile-abi -fobjc-gc -emit-llvm -o %t %s
+// RUN: grep '@"\\01L_OBJC_CLASS_NAME_.*" = internal global .* c"A\\00"' %t
+// RUN: grep '@"\\01L_OBJC_CLASS_NAME_.*" = internal global .* c"\\11q\\10\\00"' %t
+// RUN: grep '@"\\01L_OBJC_CLASS_NAME_.*" = internal global .* c"!q\\00"' %t
+// RUN: grep '@"\\01L_OBJC_CLASS_NAME_.*" = internal global .* c"\\01\\14\\00"' %t
 
 /*
 
index e7fd1301b8107f60969a02c06d400ac3630759bc..7760f94a50ab01e8c05e62ed839e83357bfa9b6e 100644 (file)
@@ -1,5 +1,7 @@
 // RUN: %clang_cc1 -fobjc-gc -triple x86_64-apple-darwin -O0 -S %s -o %t-64.s
 // RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s
+// RUN: %clang_cc1 -x objective-c++ -fobjc-gc -triple x86_64-apple-darwin -O0 -S %s -o %t-64.s
+// RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s
 
 @interface NSObject {
   id isa;