modernc.org/ccgo/v3@v3.16.14/lib/testdata/bug/fp.c (about) 1 int f(int n) { 2 return 2*n; 3 } 4 5 int (*fp1)(int) = f; 6 int (*fp2)(int) = &f; 7 8 int main() { 9 __builtin_printf("%i\n", fp1(10)); 10 __builtin_printf("%i\n", (*fp1)(20)); 11 __builtin_printf("%i\n", (**fp1)(30)); 12 __builtin_printf("%i\n", fp2(40)); 13 __builtin_printf("%i\n", (*fp2)(50)); 14 __builtin_printf("%i\n", (**fp2)(60)); 15 16 int (*p1)(int) = f; 17 int (*p2)(int) = &f; 18 19 __builtin_printf("%i\n", p1(11)); 20 __builtin_printf("%i\n", (*p1)(21)); 21 __builtin_printf("%i\n", (**p1)(31)); 22 __builtin_printf("%i\n", p2(41)); 23 __builtin_printf("%i\n", (*p2)(51)); 24 __builtin_printf("%i\n", (**p2)(61)); 25 26 int (*q1)(int) = f; 27 int (*q2)(int) = &f; 28 void *p = &q1; 29 void *q = &q2; 30 31 __builtin_printf("%i\n", q1(12)); 32 __builtin_printf("%i\n", (*q1)(22)); 33 __builtin_printf("%i\n", (**q1)(32)); 34 __builtin_printf("%i\n", q2(42)); 35 __builtin_printf("%i\n", (*q2)(52)); 36 __builtin_printf("%i\n", (**q2)(62)); 37 }