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

Reply via email to