2010-02-13 01:52:31 +08:00
|
|
|
// RUN: %clang_cc1 -x objective-c++ -Wno-return-type -fblocks -fms-extensions -rewrite-objc %s -o %t-rw.cpp
|
2010-02-17 06:13:48 +08:00
|
|
|
// RUN: %clang_cc1 -fsyntax-only -Wno-address-of-temporary -D"SEL=void*" -D"__declspec(X)=" %t-rw.cpp
|
2010-02-13 01:52:31 +08:00
|
|
|
// radar 7638400
|
|
|
|
|
2010-02-17 06:13:48 +08:00
|
|
|
typedef void * id;
|
|
|
|
|
2010-02-13 01:52:31 +08:00
|
|
|
@interface X
|
|
|
|
@end
|
|
|
|
|
|
|
|
void foo(void (^block)(int));
|
|
|
|
|
|
|
|
@implementation X
|
|
|
|
static void enumerateIt(void (^block)(id, id, char *)) {
|
|
|
|
foo(^(int idx) { });
|
|
|
|
}
|
|
|
|
@end
|
|
|
|
|
2010-02-17 01:26:03 +08:00
|
|
|
// radar 7651312
|
|
|
|
void apply(void (^block)(int));
|
|
|
|
|
|
|
|
static void x(int (^cmp)(int, int)) {
|
|
|
|
x(cmp);
|
|
|
|
}
|
|
|
|
|
|
|
|
static void y(int (^cmp)(int, int)) {
|
|
|
|
apply(^(int sect) {
|
|
|
|
x(cmp);
|
|
|
|
});
|
|
|
|
}
|