You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
81 lines
1.4 KiB
81 lines
1.4 KiB
4 months ago
|
// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm -o - %s | FileCheck %s
|
||
|
// RUN: %clang_cc1 -triple i386-apple-darwin9 -fobjc-runtime=macosx-fragile-10.5 -emit-llvm -o - %s | FileCheck %s
|
||
|
// rdar: //8808439
|
||
|
|
||
|
typedef struct {
|
||
|
#ifdef __LP64__
|
||
|
unsigned char b[15];
|
||
|
#else
|
||
|
unsigned char b[7];
|
||
|
#endif
|
||
|
} bools_minus_one;
|
||
|
|
||
|
typedef struct {
|
||
|
#ifdef __LP64__
|
||
|
unsigned char b[16];
|
||
|
#else
|
||
|
unsigned char b[8];
|
||
|
#endif
|
||
|
} bools;
|
||
|
|
||
|
|
||
|
@interface Foo
|
||
|
{
|
||
|
#ifndef __LP64__
|
||
|
bools x;
|
||
|
bools_minus_one y;
|
||
|
#endif
|
||
|
}
|
||
|
@property(assign) bools bools_p;
|
||
|
@property(assign) bools_minus_one bools_minus_one_p;
|
||
|
@end
|
||
|
|
||
|
@implementation Foo
|
||
|
@synthesize bools_p=x;
|
||
|
@synthesize bools_minus_one_p=y;
|
||
|
@end
|
||
|
|
||
|
#ifdef __LP64__
|
||
|
typedef __int128_t dword;
|
||
|
#else
|
||
|
typedef long long int dword;
|
||
|
#endif
|
||
|
|
||
|
@interface Test_dwords
|
||
|
{
|
||
|
#ifndef __LP64__
|
||
|
dword dw;
|
||
|
#endif
|
||
|
}
|
||
|
@property(assign) dword dword_p;
|
||
|
@end
|
||
|
|
||
|
@implementation Test_dwords
|
||
|
@synthesize dword_p=dw;
|
||
|
@end
|
||
|
|
||
|
|
||
|
@interface Test_floats
|
||
|
{
|
||
|
float fl;
|
||
|
double d;
|
||
|
long double ld;
|
||
|
}
|
||
|
@property(assign) float fl_p;
|
||
|
@property(assign) double d_p;
|
||
|
@property(assign) long double ld_p;
|
||
|
@end
|
||
|
|
||
|
@implementation Test_floats
|
||
|
@synthesize fl_p = fl;
|
||
|
@synthesize d_p = d;
|
||
|
@synthesize ld_p = ld;
|
||
|
@end
|
||
|
|
||
|
// CHECK: call void @objc_copyStruct
|
||
|
// CHECK: call void @objc_copyStruct
|
||
|
// CHECK: call void @objc_copyStruct
|
||
|
// CHECK: call void @objc_copyStruct
|
||
|
// CHECK: call void @objc_copyStruct
|
||
|
// CHECK: call void @objc_copyStruct
|