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"Class=void*" -D"id=void*" -D"SEL=void*" -D"__declspec(X)=" %t-rw.cpp
3
4@protocol ROOT @end
5
6@protocol P1 @end
7
8@protocol P2<ROOT> @end
9
10@class NSObject;
11
12@protocol PROTO <P1, P2>
13- (id) INST_METHOD;
14+ (id) CLASS_METHOD : (id)ARG;
15@property id Prop_in_PROTO;
16@optional
17- (id) opt_instance_method;
18+ (id) opt_class_method;
19@property (readonly, retain) NSObject *AnotherProperty;
20@required
21- (id) req;
22@optional
23- (id) X_opt_instance_method;
24+ (id) X_opt_class_method;
25@end
26
27@interface INTF <PROTO, ROOT>
28@end
29
30@implementation INTF
31@end
32