diff --git a/tcc.c b/tcc.c index 3901b81a..ef89e60c 100644 --- a/tcc.c +++ b/tcc.c @@ -7801,21 +7801,11 @@ static void unary(void) 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; - } + tok = TOK_malloc; + 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; - } + tok = TOK_free; + goto tok_identifier; #endif case TOK_INC: case TOK_DEC: diff --git a/tcctok.h b/tcctok.h index 33bed29f..97d95076 100644 --- a/tcctok.h +++ b/tcctok.h @@ -113,6 +113,8 @@ #ifdef TCC_TARGET_X86_64 DEF(TOK_builtin_malloc, "__builtin_malloc") DEF(TOK_builtin_free, "__builtin_free") + DEF(TOK_malloc, "malloc") + DEF(TOK_free, "free") #endif DEF(TOK_REGPARM1, "regparm") DEF(TOK_REGPARM2, "__regparm__") @@ -216,11 +218,13 @@ DEF(TOK___bound_ptr_indir16, "__bound_ptr_indir16") DEF(TOK___bound_local_new, "__bound_local_new") DEF(TOK___bound_local_delete, "__bound_local_delete") +#if 0 DEF(TOK_malloc, "malloc") DEF(TOK_free, "free") DEF(TOK_realloc, "realloc") DEF(TOK_memalign, "memalign") DEF(TOK_calloc, "calloc") +#endif DEF(TOK_memmove, "memmove") DEF(TOK_strlen, "strlen") DEF(TOK_strcpy, "strcpy")