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
[email protected]
https://lists.nongnu.org/mailman/listinfo/tinycc-devel