#include struct CG {int x; int y;}; int g(int (^callback)(struct CG)) { struct CG cg = {.x=1,.y=2}; int z = callback(cg); // Set breakpoint 2 here. return z; } int h(struct CG cg){return 42;} int main() { int c = 1; int (^add)(int, int) = ^int(int a, int b) { return a + b + c; // Set breakpoint 0 here. }; int (^neg)(int) = ^int(int a) { return -a; }; printf("%d\n", add(3, 4)); printf("%d\n", neg(-5)); // Set breakpoint 1 here. int (^add_struct)(struct CG) = ^int(struct CG cg) { return cg.x + cg.y; }; g(add_struct); return 0; }