mirror of
https://github.com/mirror/tinycc.git
synced 2025-02-14 07:10:07 +08:00
fix push_macro, asked Tom to help me testfix push_macro
This commit is contained in:
parent
5a514107c4
commit
52891b6ff6
2
tcc.h
2
tcc.h
@ -303,7 +303,7 @@
|
||||
#define VSTACK_SIZE 256
|
||||
#define STRING_MAX_SIZE 1024
|
||||
#define PACK_STACK_SIZE 8
|
||||
#define MACRO_STACK_SIZE 4
|
||||
#define MACRO_STACK_SIZE 8
|
||||
|
||||
#define TOK_HASH_SIZE 8192 /* must be a power of two */
|
||||
#define TOK_ALLOC_INCR 512 /* must be a power of two */
|
||||
|
4
tccpp.c
4
tccpp.c
@ -234,7 +234,7 @@ static TokenSym *tok_alloc_new(TokenSym **pts, const char *str, int len)
|
||||
ts = tcc_malloc(sizeof(TokenSym) + len);
|
||||
table_ident[i] = ts;
|
||||
ts->tok = tok_ident++;
|
||||
ts->sym_define.data = tcc_malloc(sizeof(Sym**));
|
||||
ts->sym_define.data = tcc_malloc(sizeof(Sym*));
|
||||
ts->sym_define.off = 0;
|
||||
ts->sym_define.data[0] = NULL;
|
||||
ts->sym_define.size = 1;
|
||||
@ -1743,7 +1743,7 @@ pack_error:
|
||||
size *= 2;
|
||||
if (size >= MACRO_STACK_SIZE)
|
||||
tcc_error("stack full");
|
||||
def->data = tcc_realloc(def->data, size*sizeof(Sym**));
|
||||
def->data = tcc_realloc(def->data, size*sizeof(Sym*));
|
||||
def->size = size;
|
||||
}
|
||||
def->data[def->off] = tmp;
|
||||
|
@ -383,7 +383,14 @@ comment
|
||||
#define MACRO_TEST "macro_test1\n"
|
||||
#pragma push_macro("MACRO_TEST")
|
||||
#undef MACRO_TEST
|
||||
|
||||
#define MACRO_TEST "macro_test2\n"
|
||||
#pragma push_macro("MACRO_TEST")
|
||||
#undef MACRO_TEST
|
||||
|
||||
#define MACRO_TEST "macro_test3\n"
|
||||
printf(MACRO_TEST);
|
||||
#pragma pop_macro("MACRO_TEST")
|
||||
printf(MACRO_TEST);
|
||||
#pragma pop_macro("MACRO_TEST")
|
||||
printf(MACRO_TEST);
|
||||
|
Loading…
Reference in New Issue
Block a user