Remove multiple definition error caused by combination of x86-64 and va_list.
We need malloc and free to implement va_start and va_end. Since malloc and free may be replaced by #define, we add __builtin_malloc and __builtin_free.
This commit is contained in:
committed by
grischka
parent
6512d9e2ea
commit
ebb874e216
18
tcc.c
18
tcc.c
@ -7750,6 +7750,24 @@ static void unary(void)
|
||||
vset(&type, VT_LOCAL, 0);
|
||||
}
|
||||
break;
|
||||
#ifdef TCC_TARGET_X86_64
|
||||
case TOK_builtin_malloc:
|
||||
{
|
||||
char *p = file->buf_ptr;
|
||||
file->buf_ptr = "malloc";
|
||||
next_nomacro1();
|
||||
file->buf_ptr = p;
|
||||
goto tok_identifier;
|
||||
}
|
||||
case TOK_builtin_free:
|
||||
{
|
||||
char *p = file->buf_ptr;
|
||||
file->buf_ptr = "free";
|
||||
next_nomacro1();
|
||||
file->buf_ptr = p;
|
||||
goto tok_identifier;
|
||||
}
|
||||
#endif
|
||||
case TOK_INC:
|
||||
case TOK_DEC:
|
||||
t = tok;
|
||||
|
||||
Reference in New Issue
Block a user