diff options
-rw-r--r-- | test/CodeGenObjCXX/copyable-property-object.mm | 28 | ||||
-rw-r--r-- | test/CodeGenObjCXX/implicit-copy-assign-operator.mm (renamed from test/CodeGenCXX/implicit-copy-assign-operator.mm) | 0 | ||||
-rw-r--r-- | test/CodeGenObjCXX/implicit-copy-constructor.mm (renamed from test/CodeGenCXX/implicit-copy-constructor.mm) | 0 |
3 files changed, 28 insertions, 0 deletions
diff --git a/test/CodeGenObjCXX/copyable-property-object.mm b/test/CodeGenObjCXX/copyable-property-object.mm new file mode 100644 index 0000000000..8962c536ea --- /dev/null +++ b/test/CodeGenObjCXX/copyable-property-object.mm @@ -0,0 +1,28 @@ +// RUN: %clang_cc1 -fobjc-gc -triple x86_64-apple-darwin10 -emit-llvm -o - %s | FileCheck %s + +struct POD { + int array[3][4]; + id objc_obj; +}; + +struct D { + POD pod_array[2][3]; +}; + +@interface I +{ + D Property1; +} +@property D Property1; +- (D) val; +- (void) set : (D) d1; +@end + +@implementation I +@synthesize Property1; +- (D) val { return Property1; } +- (void) set : (D) d1 { Property1 = d1; } +@end +// CHECK: {{call.*@objc_memmove_collectable}} +// CHECK: {{call.*@objc_memmove_collectable}} + diff --git a/test/CodeGenCXX/implicit-copy-assign-operator.mm b/test/CodeGenObjCXX/implicit-copy-assign-operator.mm index 16ae1472dd..16ae1472dd 100644 --- a/test/CodeGenCXX/implicit-copy-assign-operator.mm +++ b/test/CodeGenObjCXX/implicit-copy-assign-operator.mm diff --git a/test/CodeGenCXX/implicit-copy-constructor.mm b/test/CodeGenObjCXX/implicit-copy-constructor.mm index 489fd9758e..489fd9758e 100644 --- a/test/CodeGenCXX/implicit-copy-constructor.mm +++ b/test/CodeGenObjCXX/implicit-copy-constructor.mm |