зеркало из https://github.com/microsoft/clang.git
81 строка
1.4 KiB
Objective-C
81 строка
1.4 KiB
Objective-C
// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fobjc-nonfragile-abi -emit-llvm -o - %s | FileCheck %s
|
|
// RUN: %clang_cc1 -triple i386-apple-darwin9 -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
|