xref: /aosp_15_r20/external/clang/test/PCH/blocks.h (revision 67e74705e28f6214e480b399dd47ea732279e315)
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