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 -std=gnu++98 -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 | |