1*67e74705SXin Li // Header for PCH test blocks.c
2*67e74705SXin Li
3*67e74705SXin Li int call_block(int (^bl)(int x, int y), int a, int b) {
4*67e74705SXin Li return bl(a, b);
5*67e74705SXin Li }
6*67e74705SXin Li
add(int a,int b)7*67e74705SXin Li int add(int a, int b) {
8*67e74705SXin Li return call_block(^(int x, int y) { return x + y; }, a, b);
9*67e74705SXin Li }
10*67e74705SXin Li
scaled_add(int a,int b,int s)11*67e74705SXin Li int scaled_add(int a, int b, int s) {
12*67e74705SXin Li __block int scale = s;
13*67e74705SXin Li return call_block(^(int x, int y) { return x*scale + y; }, a, b);
14*67e74705SXin Li }
15