| /* APPLE LOCAL file - testcase for Radar 5811943 */ |
| /* { dg-do compile } */ |
| /* LLVM LOCAL - -fverbose-asm */ |
| /* { dg-options "-g -O0 -fblocks -dA -fverbose-asm" } */ |
| /* { dg-final { scan-assembler "DW_AT_APPLE_block" } } */ |
| |
| #include <stdio.h> |
| void * _NSConcreteStackBlock[32]; |
| |
| int |
| blockTaker (int (^myBlock)(int), int other_input) |
| { |
| return 5 * myBlock (other_input); |
| } |
| |
| int main (int argc, char **argv) |
| { |
| int (^blockptr) (int) = ^(int inval) { |
| printf ("Inputs: %d, %d.\n", argc, inval); |
| return argc * inval; |
| }; |
| |
| |
| argc = 10; |
| printf ("I got: %d.\n", |
| blockTaker (blockptr, 6)); |
| return 0; |
| } |