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.cpp |
2 | // RUN: %clang_cc1 -fsyntax-only -fblocks -Wno-address-of-temporary -D"id=void*" -D"SEL=void*" -D"__declspec(X)=" %t-rw.cpp |
3 | // grep "static void __FUNC_block_copy_" %t-rw.cpp | count 2 |
4 | // RUN: %clang_cc1 -x objective-c++ -Wno-return-type -fblocks -fms-extensions -rewrite-objc %s -o %t-modern-rw.cpp |
5 | // RUN: %clang_cc1 -fsyntax-only -Wno-address-of-temporary -D"id=void*" -D"SEL=void*" -D"__declspec(X)=" %t-modern-rw.cpp |
6 | // grep "static void __FUNC_block_copy_" %t-modern-rw.cpp | count 2 |
7 | // rdar://8499592 |
8 | |
9 | typedef unsigned long size_t; |
10 | void Outer(void (^bk)()); |
11 | void Inner(void (^bk)()); |
12 | void INNER_FUNC(id d); |
13 | |
14 | void FUNC() { |
15 | |
16 | id bar = (id)42; |
17 | Outer(^{ |
18 | Inner(^{ |
19 | INNER_FUNC(bar); |
20 | }); |
21 | }); |
22 | } |
23 | |