diff options
| author | grischka <grischka> | 2016-10-01 20:26:50 +0200 |
|---|---|---|
| committer | grischka <grischka> | 2016-10-01 20:26:50 +0200 |
| commit | 766ba3694dae5b3d2dfbb5c75c4ebf7069a7ce1f (patch) | |
| tree | 3d056aae41bd651b5c04ba13a5566d03598c477f /tccasm.c | |
| parent | eacdc426d76a88aa9b6efc698106d3f36a774905 (diff) | |
| download | tinycc-766ba3694dae5b3d2dfbb5c75c4ebf7069a7ce1f.tar.gz tinycc-766ba3694dae5b3d2dfbb5c75c4ebf7069a7ce1f.tar.bz2 | |
tccpp: cleanup
- "utf8 in identifiers"
from 936819a1b90f2618bb3f86730189cf2895948ba0
- CValue: remove member str.data_allocated
- make tiny allocator private to tccpp
- allocate macro_stack objects on heap
because otherwise it could crash after error/setjmp
in preprocess_delete():end_macro()
- mov "TinyAlloc" defs to tccpp.c
- define_push: take int* str again
Diffstat (limited to 'tccasm.c')
| -rw-r--r-- | tccasm.c | 14 |
1 files changed, 7 insertions, 7 deletions
@@ -488,25 +488,25 @@ static void asm_parse_directive(TCCState *s1) case TOK_ASMDIR_rept: { int repeat; - TokenString init_str; + TokenString *init_str; ParseState saved_parse_state = {0}; next(); repeat = asm_int_expr(s1); - tok_str_new(&init_str); + init_str = tok_str_alloc(); next(); while ((tok != TOK_ASMDIR_endr) && (tok != CH_EOF)) { - tok_str_add_tok(&init_str); + tok_str_add_tok(init_str); next(); } if (tok == CH_EOF) tcc_error("we at end of file, .endr not found"); next(); - tok_str_add(&init_str, -1); - tok_str_add(&init_str, 0); + tok_str_add(init_str, -1); + tok_str_add(init_str, 0); save_parse_state(&saved_parse_state); - begin_macro(&init_str, 0); + begin_macro(init_str, 1); while (repeat-- > 0) { tcc_assemble_internal(s1, (parse_flags & PARSE_FLAG_PREPROCESS)); - macro_ptr = init_str.str; + macro_ptr = init_str->str; } end_macro(); restore_parse_state(&saved_parse_state); |
