/* APPLE LOCAL file radar 6083129 byref escapes */ /* { dg-do run { target *-*-darwin[1-2][0-9]* } } */ /* { dg-options "-fblocks" } */ /* { dg-skip-if "" { powerpc*-*-darwin* } { "-m64" } { "" } } */ #include <stdio.h> void *_NSConcreteStackBlock; void _Block_object_assign(void * dst, void *src, int flag){} extern void abort(void); static int count; static void _Block_object_dispose(void * arg, int flag) { ++count; } void junk(void (^block)(void)) { block(); } int test() { { int __block i = 10; void (^dummy)(void) = ^{ ++i; }; junk(dummy); } return count; } int main() { if ( test() != 1) abort(); return 0; }