I tried to compile openssl with head. I found a problem with (reduced case):
#include <stdio.h> static void func(char *(*md)(char *md)) { (*md)("test"); } static char *a(char *a) { printf("%s\n", a); return a; } int main(void) { func(a); } When compiling this I get: 5: error: function pointer expected It work when going back to: "tcc.c:main() free all & etc..." The problem is that we have times *md. Another problem from the test suite: int printf(const char *,...); int a[3]; int f(void); int main(void) { extern int a[3]; a[2]=10; printf("%d\n", f()); } int f(void) { return a[2]==10 ? 1 : 0; } results in: 15: error: invalid operand types for binary operation It looks like the extern is introducing the problem. Herman _______________________________________________ Tinycc-devel mailing list Tinycc-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/tinycc-devel