/* 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> extern "C" void abort(void); void _Block_object_assign(void *a, void *b, int flag){}; static int count; static void _Block_object_dispose(void * arg, int flag) { printf ("%p\n", arg); ++count; } int main1() { __block int X = 1234; if (X) { __block int local_BYREF = 100; X += 100 + local_BYREF; return count-2; } return -1; } int main() { main1(); return count-2; }