1 // RUN: %clang_cc1 -x objective-c++ -Wno-return-type -fblocks -fms-extensions -rewrite-objc %s -o %t-rw.cpp 2 // RUN: %clang_cc1 -fsyntax-only -fblocks -Wno-address-of-temporary -D"id=void*" -D"SEL=void*" -D"__declspec(X)=" %t-rw.cpp 3 4 extern "C" { 5 @class XX; 6 @class YY, ZZ, QQ; 7 @class ISyncClient, SMSession, ISyncManager, ISyncSession, SMDataclassInfo, SMClientInfo, 8 DMCConfiguration, DMCStatusEntry; 9 10 @interface QQ 11 12 @end 13 14 @interface SMDataclassInfo : QQ 15 - (XX*) Meth; 16 - (DMCStatusEntry*)Meth2; 17 @end 18 19 @implementation SMDataclassInfo 20 - (XX*) Meth { return 0; } 21 - (DMCStatusEntry*)Meth2 { return 0; } 22 @end 23 24 @interface YY 25 { 26 ISyncClient *p1; 27 ISyncSession *p2; 28 } 29 @property (copy) ISyncClient *p1; 30 @end 31 32 @implementation YY 33 @synthesize p1; 34 @end 35 36 extern "C" { 37 @class CCC; 38 @class Protocol, P , Q; 39 int I,J,K; 40 }; 41 42 }; 43 44 45 // rdar://15027032 46 @interface ISDPropertyChangeGroup 47 @end 48 49 @implementation ISDPropertyChangeGroup 50 @class ISDClientState; 51 - (id)lastModifiedGeneration : (ISDClientState *) obj 52 { 53 return obj ; 54 } 55 @end 56