| /* APPLE LOCAL file radar 6396238 */ |
| /* { dg-do run { target *-*-darwin[1-2][0-9]* } } */ |
| /* { dg-options "-mmacosx-version-min=10.6 -Wall" { target *-*-darwin* } } */ |
| /* { dg-skip-if "" { powerpc*-*-darwin* } { "-m64" } { "" } } */ |
| |
| #include <stdio.h> |
| |
| typedef void (^P)(void); |
| |
| static P p = ^{ printf("inside block\n"); }; |
| |
| static int count; |
| |
| extern void abort(void); |
| void * _NSConcreteGlobalBlock; |
| |
| P mkblock(void) |
| { |
| printf("outside block\n"); |
| ++count; |
| return p; |
| } |
| |
| int main(void) |
| { |
| mkblock()(); |
| if (count != 1) |
| abort(); |
| return 0; |
| } |
| |