xref: /aosp_15_r20/external/clang/test/CodeGenObjCXX/property-dot-copy.mm (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm -o - %s | FileCheck %s
2*67e74705SXin Li// rdar://8427922
3*67e74705SXin Li
4*67e74705SXin Listruct Vector3D
5*67e74705SXin Li{
6*67e74705SXin Li		float x, y, z;
7*67e74705SXin Li		Vector3D();
8*67e74705SXin Li		Vector3D(const Vector3D &inVector);
9*67e74705SXin Li		Vector3D(float initX, float initY, float initZ);
10*67e74705SXin Li		Vector3D &operator=(const Vector3D & rhs);
11*67e74705SXin Li};
12*67e74705SXin Li
13*67e74705SXin Li@interface Object3D
14*67e74705SXin Li{
15*67e74705SXin Li	Vector3D position;
16*67e74705SXin Li        Vector3D length;
17*67e74705SXin Li}
18*67e74705SXin Li@property (assign) Vector3D position;
19*67e74705SXin Li- (Vector3D) length;
20*67e74705SXin Li- (void) setLength: (Vector3D)arg;
21*67e74705SXin Li@end
22*67e74705SXin Li
23*67e74705SXin Liint main ()
24*67e74705SXin Li{
25*67e74705SXin Li	Object3D *myObject;
26*67e74705SXin Li        Vector3D V3D(1.0f, 1.0f, 1.0f);
27*67e74705SXin Li// CHECK: call void @_ZN8Vector3DC1ERKS_
28*67e74705SXin Li	myObject.position = V3D;
29*67e74705SXin Li
30*67e74705SXin Li// CHECK: call void @_ZN8Vector3DC1ERKS_
31*67e74705SXin Li	myObject.length = V3D;
32*67e74705SXin Li
33*67e74705SXin Li        return 0;
34*67e74705SXin Li}
35*67e74705SXin Li
36*67e74705SXin Li// rdar: // 8437253
37*67e74705SXin Liextern "C" void exit(...);
38*67e74705SXin Li
39*67e74705SXin Listruct CGPoint {
40*67e74705SXin Li  float x;
41*67e74705SXin Li  float y;
42*67e74705SXin Li};
43*67e74705SXin Litypedef struct CGPoint CGPoint;
44*67e74705SXin Li
45*67e74705SXin Liextern "C" const CGPoint CGPointZero;
46*67e74705SXin Li
47*67e74705SXin Libool operator==(const CGPoint& a, const CGPoint& b);
48*67e74705SXin Li
49*67e74705SXin Li@interface TIconViewSettings
50*67e74705SXin Li@property (assign, nonatomic) CGPoint gridOffset;
51*67e74705SXin Li@end
52*67e74705SXin Li
53*67e74705SXin Li@implementation TIconViewSettings
54*67e74705SXin Li- (CGPoint) gridOffset
55*67e74705SXin Li{
56*67e74705SXin Li return CGPointZero;
57*67e74705SXin Li}
58*67e74705SXin Li
59*67e74705SXin Li- (void) foo
60*67e74705SXin Li{
61*67e74705SXin Li        if ((self.gridOffset) == CGPointZero)
62*67e74705SXin Li                exit(1);
63*67e74705SXin Li
64*67e74705SXin Li if (self.gridOffset == CGPointZero)
65*67e74705SXin Li  exit(1);
66*67e74705SXin Li}
67*67e74705SXin Li@end
68*67e74705SXin Li
69