Unified · Split
| @@ -303,7 +303,7 @@ · 302 unmodified lines | ||
| 303 | 303 | #define VSTACK_SIZE 256 |
| 304 | 304 | #define STRING_MAX_SIZE 1024 |
| 305 | 305 | #define PACK_STACK_SIZE 8 |
| 306 | −#define MACRO_STACK_SIZE 4 | |
| 306 | +#define MACRO_STACK_SIZE 8 | |
| 307 | 307 | |
| 308 | 308 | #define TOK_HASH_SIZE 8192 /* must be a power of two */ |
| 309 | 309 | #define TOK_ALLOC_INCR 512 /* must be a power of two */ |
| @@ -234,7 +234,7 @@ static TokenSym *tok_alloc_new(TokenSym **pts, const char *str, int len) · 233 unmodified lines | ||
| 234 | 234 | ts = tcc_malloc(sizeof(TokenSym) + len); |
| 235 | 235 | table_ident[i] = ts; |
| 236 | 236 | ts->tok = tok_ident++; |
| 237 | − ts->sym_define.data = tcc_malloc(sizeof(Sym**)); | |
| 237 | + ts->sym_define.data = tcc_malloc(sizeof(Sym*)); | |
| 238 | 238 | ts->sym_define.off = 0; |
| 239 | 239 | ts->sym_define.data[0] = NULL; |
| 240 | 240 | ts->sym_define.size = 1; |
| @@ -1743,7 +1743,7 @@ pack_error: · 1502 unmodified lines | ||
| 1743 | 1743 | size *= 2; |
| 1744 | 1744 | if (size >= MACRO_STACK_SIZE) |
| 1745 | 1745 | tcc_error("stack full"); |
| 1746 | − def->data = tcc_realloc(def->data, size*sizeof(Sym**)); | |
| 1746 | + def->data = tcc_realloc(def->data, size*sizeof(Sym*)); | |
| 1747 | 1747 | def->size = size; |
| 1748 | 1748 | } |
| 1749 | 1749 | def->data[def->off] = tmp; |
| @@ -383,7 +383,14 @@ comment · 382 unmodified lines | ||
| 383 | 383 | #define MACRO_TEST "macro_test1\n" |
| 384 | 384 | #pragma push_macro("MACRO_TEST") |
| 385 | 385 | #undef MACRO_TEST |
| 386 | + | |
| 386 | 387 | #define MACRO_TEST "macro_test2\n" |
| 388 | + #pragma push_macro("MACRO_TEST") | |
| 389 | + #undef MACRO_TEST | |
| 390 | + | |
| 391 | + #define MACRO_TEST "macro_test3\n" | |
| 392 | + printf(MACRO_TEST); | |
| 393 | + #pragma pop_macro("MACRO_TEST") | |
| 387 | 394 | printf(MACRO_TEST); |
| 388 | 395 | #pragma pop_macro("MACRO_TEST") |
| 389 | 396 | printf(MACRO_TEST); |