llvm-project/clang/test/Rewriter/rewrite-nested-blocks-2.mm
Fariborz Jahanian fc8315f56a Fix a block rewriter bug where copy/dispose entries in
block descriptor for outer block was missing even though
the block was importing objects into its inner blocks.
//rdar://84995992

llvm-svn: 115644
2010-10-05 18:05:06 +00:00

19 lines
513 B
Plaintext

// RUN: %clang_cc1 -x objective-c++ -Wno-return-type -fblocks -fms-extensions -rewrite-objc %s -o %t-rw.cpp
// RUN: %clang_cc1 -fsyntax-only -fblocks -Wno-address-of-temporary -D"id=void*" -D"SEL=void*" -D"__declspec(X)=" %t-rw.cpp
// grep "static void __FUNC_block_copy_" %t-rw.cpp | count 2
// rdar://8499592
void Outer(void (^bk)());
void Inner(void (^bk)());
void INNER_FUNC(id d);
void FUNC() {
id bar = (id)42;
Outer(^{
Inner(^{
INNER_FUNC(bar);
});
});
}