brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · 217cff6 Raw
65 lines · plain
1// RUN: %clang_cc1 -x objective-c++ -Wno-return-type -fblocks -fms-extensions -rewrite-objc %s -o %t-rw.cpp2// RUN: %clang_cc1 -fsyntax-only -std=gnu++98 -fblocks -Wno-address-of-temporary -D"Class=void*" -D"id=void*" -D"SEL=void*" -D"__declspec(X)=" %t-rw.cpp3 4@protocol P @end5@protocol P1 @end6@interface INTF7{8  id CLASS_IVAR;9  id<P, P1> Q_IVAR;10 11  void (^_block)(id<P>);12  void (*_fptr)(void (^_block)(id<P>));13  char CLASS_EXT_IVAR;14  id<P, P1> (^ext_block)(id<P>, INTF<P,P1>*, INTF*);15  id IMPL_IVAR;16  double D_IMPL_IVAR;17  INTF<P> *(*imp_fptr)(void (^_block)(id<P>, INTF<P,P1>*));18  id arr[100];19}20@end21 22@implementation INTF @end23 24@interface MISC_INTF25{26  id CLASS_IVAR;27  id<P, P1> Q_IVAR;28 29  void (^_block)(id<P>);30  void (*_fptr)(void (^_block)(id<P>));31  unsigned int BF : 8;32}33@end34 35@interface MISC_INTF()36{37  char CLASS_EXT_IVAR;38  id<P, P1> (^ext_block)(id<P>, MISC_INTF<P,P1>*, MISC_INTF*);39}40@end41 42@interface MISC_INTF() {43  int II1;44  double DD1; }45@end46 47@interface MISC_INTF() { int II2; double DD2; }48@end49 50@interface MISC_INTF() { int II3; 51  double DD3; }52@end53 54@interface MISC_INTF() { int II4; double DD4; 55}56@end57 58@implementation MISC_INTF59{60  id IMPL_IVAR;61  double D_IMPL_IVAR;62  MISC_INTF<P> *(*imp_fptr)(void (^_block)(id<P>, MISC_INTF<P,P1>*));63}64@end65