brintos

brintos / llvm-project-archived public Read only

0
0
Text · 887 B · 316607d Raw
46 lines · plain
1// RUN: %clang_cc1 -x objective-c++ -Wno-return-type -fblocks -fms-extensions -rewrite-objc -fobjc-runtime=macosx-fragile-10.5 %s -o %t-rw.cpp2// RUN: %clang_cc1 -fsyntax-only -Wno-address-of-temporary -D"SEL=void*" -D"id=void*" -D"__declspec(X)=" %t-rw.cpp3 4@protocol NSPortDelegate;5@interface NSConnection @end6 7@interface NSMessagePort8- (void) clone;9@end10 11@implementation NSMessagePort12- (void) clone {13     NSConnection <NSPortDelegate> *conn = 0;14     id <NSPortDelegate> *idc = 0;15}16@end17 18@protocol Proto1, Proto2;19 20@protocol Proto21@end22 23unsigned char func(id<Proto1, Proto2> inProxy);24 25id bar(id);26 27void f() {28        id a;29        id b = bar((id <Proto>)a);30}31 32@protocol NSObject @end33@class NSRunLoop;34 35@protocol CoreDAVTaskManager <NSObject> 36  @property (retain) NSRunLoop *workRunLoop;  37@end38 39@protocol some_protocol;40 41void foo (int n)42{43  id<some_protocol> array[n];44}45 46