aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgrischka <grischka>2009-04-16 19:32:59 +0200
committergrischka <grischka>2009-04-18 15:08:02 +0200
commit9a8b2912ed2e3de97cde5fec0e886a0660fe6b5f (patch)
treeb6730a1553de66797c1881efd30202ebc7da2126
parent742cf058752b7a3433d625c098b88d096b5a82e3 (diff)
downloadtinycc-9a8b2912ed2e3de97cde5fec0e886a0660fe6b5f.tar.gz
tinycc-9a8b2912ed2e3de97cde5fec0e886a0660fe6b5f.tar.bz2
TOK_builtin_malloc: alternative solution
-rw-r--r--tcc.c18
-rw-r--r--tcctok.h4
2 files changed, 8 insertions, 14 deletions
diff --git a/tcc.c b/tcc.c
index 3901b81..ef89e60 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 33bed29..97d9507 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")