27 lines
697 B
Plaintext
27 lines
697 B
Plaintext
|
// RUN: %clang_cc1 -E %s -o %t.mm
|
||
|
// RUN: %clang_cc1 -x objective-c++ -fblocks -fms-extensions -rewrite-objc -fobjc-runtime=macosx-fragile-10.5 %t.mm -o %t-rw.cpp
|
||
|
// RUN: FileCheck -check-prefix CHECK-LP --input-file=%t-rw.cpp %s
|
||
|
// RUN: %clang_cc1 -x objective-c++ -fblocks -fms-extensions -rewrite-objc %t.mm -o %t-modern-rw.cpp
|
||
|
// RUN: FileCheck -check-prefix CHECK-LP --input-file=%t-modern-rw.cpp %s
|
||
|
// radar 7607781
|
||
|
|
||
|
typedef struct {
|
||
|
int a;
|
||
|
int b;
|
||
|
} mystruct;
|
||
|
|
||
|
void g(int (^block)(mystruct s)) {
|
||
|
mystruct x;
|
||
|
int v = block(x);
|
||
|
}
|
||
|
|
||
|
void f(const void **arg) {
|
||
|
__block const void **q = arg;
|
||
|
g(^(mystruct s){
|
||
|
*q++ = (void*)s.a;
|
||
|
return 314;
|
||
|
});
|
||
|
}
|
||
|
|
||
|
// CHECK-LP: (__Block_byref_q_0 *)&q
|