зеркало из https://github.com/microsoft/clang-1.git
56 строки
1.4 KiB
Plaintext
Executable File
56 строки
1.4 KiB
Plaintext
Executable File
// RUN: %clang_cc1 -x objective-c++ -Wno-return-type -fblocks -fms-extensions -rewrite-objc -fobjc-fragile-abi %s -o %t-rw.cpp
|
|
// RUN: %clang_cc1 -fsyntax-only -fms-extensions -Wno-address-of-temporary -Did="void *" -D"SEL=void*" -D"__declspec(X)=" %t-rw.cpp
|
|
// RUN: %clang_cc1 -x objective-c++ -Wno-return-type -fblocks -fms-extensions -rewrite-objc %s -o %t-modern-rw.cpp
|
|
// RUN: %clang_cc1 -fsyntax-only -fms-extensions -Wno-address-of-temporary -Did="void *" -D"SEL=void*" -D"__declspec(X)=" %t-modern-rw.cpp
|
|
// radar 8608293
|
|
|
|
typedef unsigned long size_t;
|
|
void *sel_registerName(const char *);
|
|
|
|
extern "C" void nowarn(id);
|
|
|
|
extern "C" void noblockwarn(void (^)());
|
|
|
|
@interface INTFOFPROP
|
|
@property (readwrite, retain) INTFOFPROP *outer;
|
|
@property (readwrite, retain) id inner;
|
|
@end
|
|
|
|
@interface NSSet
|
|
- (NSSet *)objectsPassingTest:(char (^)(id obj, char *stop))predicate ;
|
|
@end
|
|
|
|
@interface INTF
|
|
- (NSSet *)Meth;
|
|
@end
|
|
|
|
@implementation INTF
|
|
|
|
- (NSSet *)Meth
|
|
{
|
|
NSSet *aces;
|
|
|
|
noblockwarn(^() {
|
|
INTFOFPROP *ace;
|
|
nowarn(ace.outer.inner);
|
|
noblockwarn(^() {
|
|
INTFOFPROP *ace;
|
|
nowarn(ace.outer.inner);
|
|
});
|
|
});
|
|
|
|
noblockwarn(^() {
|
|
INTFOFPROP *ace;
|
|
nowarn(ace.outer.inner);
|
|
});
|
|
|
|
return [aces objectsPassingTest:^(id obj, char *stop)
|
|
{
|
|
INTFOFPROP *ace = (INTFOFPROP *)obj;
|
|
nowarn(ace.outer.inner);
|
|
return (char)0;
|
|
}];
|
|
|
|
}
|
|
@end
|