/* APPLE LOCAL file radar 5803600 */ /* Test for propery handling of 'byref' globals in nested blocks. */ /* { dg-do compile } */ /* { dg-options "-mmacosx-version-min=10.5 -fblocks" { target *-*-darwin* } } */ #include <stdio.h> void CallBlock (void (^voidvoidBlock)(void)) { voidvoidBlock(); } int glob = 10; static int stat = 10; int foo() { static int static_local = 10; int local; CallBlock( ^ {++glob; CallBlock(^ { ++glob; stat++; ++static_local; }); ++local; /* { dg-error "increment of read-only variable" } */ ++static_local; }); return 0; }