1 // RUN: %clang_cc1 -x objective-c++ -fblocks -fms-extensions -rewrite-objc %s -o %t-rw.cpp 2 // RUN: %clang_cc1 -fsyntax-only -fblocks -Wno-address-of-temporary -D"Class=void*" -D"id=void*" -D"SEL=void*" -D"__declspec(X)=" %t-rw.cpp 3 // rdar://14932320 4 5 extern "C" void *sel_registerName(const char *); 6 typedef unsigned long size_t; 7 8 typedef struct { 9 unsigned long long x; 10 unsigned long long y; 11 } myPoint; 12 13 typedef struct { 14 unsigned long long x; 15 unsigned long long y; 16 } allPoint; 17 18 @interface Obj 19 + (myPoint)foo; 20 + (myPoint)foo : (int)Arg1 : (double)fArg; 21 + (allPoint)fee; 22 @end 23 24 @implementation Obj 25 + (allPoint)fee { 26 allPoint a; 27 a.x = a.y = 3; 28 29 return a; 30 } 31 + (myPoint)foo { 32 myPoint r; 33 r.x = 1; 34 r.y = 2; 35 return r; 36 } 37 38 + (myPoint)foo : (int)Arg1 : (double)fArg { 39 myPoint r; 40 return r; 41 } 42 @end 43 44 myPoint Ret_myPoint() { 45 return [Obj foo]; 46 } 47 48 allPoint Ret_allPoint() { 49 return [Obj fee]; 50 } 51 52 myPoint Ret_myPoint1(int i, double d) { 53 return [Obj foo:i:d]; 54 } 55 56 myPoint Ret_myPoint2() { 57 return [Obj foo]; 58 } 59