// RUN: %clang_cc1 -x objective-c++ -fblocks -fms-extensions -rewrite-objc %s -o %t-rw.cpp // 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 // rdar://14932320 extern "C" void *sel_registerName(const char *); typedef unsigned long size_t; typedef struct { unsigned long long x; unsigned long long y; } myPoint; typedef struct { unsigned long long x; unsigned long long y; } allPoint; @interface Obj + (myPoint)foo; + (myPoint)foo : (int)Arg1 : (double)fArg; + (allPoint)fee; @end @implementation Obj + (allPoint)fee { allPoint a; a.x = a.y = 3; return a; } + (myPoint)foo { myPoint r; r.x = 1; r.y = 2; return r; } + (myPoint)foo : (int)Arg1 : (double)fArg { myPoint r; return r; } @end myPoint Ret_myPoint() { return [Obj foo]; } allPoint Ret_allPoint() { return [Obj fee]; } myPoint Ret_myPoint1(int i, double d) { return [Obj foo:i:d]; } myPoint Ret_myPoint2() { return [Obj foo]; }