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