aboutsummaryrefslogtreecommitdiff
path: root/tccpp.c
diff options
context:
space:
mode:
authorseyko <seyko2@gmail.com>2015-03-03 14:31:47 +0300
committerseyko <seyko2@gmail.com>2015-03-03 14:31:47 +0300
commit252a151fc6b701b23745d1d076e10a6fa465ed84 (patch)
treee09c247cb2f37c73447c3932e8ab1e0fe7544b7e /tccpp.c
parentb7b9f9f51170bd1616ee56acfef9c6bf20b9cf3f (diff)
downloadtinycc-252a151fc6b701b23745d1d076e10a6fa465ed84.tar.gz
tinycc-252a151fc6b701b23745d1d076e10a6fa465ed84.tar.bz2
pp-many-files: don't drop a preprocessor defines when tcc going to preprocess a next file
in the same pass like tcc -E one.c two.c three.c -o combined.i This will allow to speed up a compilation process by using a commamd like tcc -E *.c | tcc -o program.exe -xc - It looks that multi-times initialization don't affect anything. Only call to the free_defines(define_start) in tcc_preprocess() is removed in assumption that free_defines(NULL) in tcc_cleanup() will free all defines.
Diffstat (limited to 'tccpp.c')
-rw-r--r--tccpp.c4
1 files changed, 0 insertions, 4 deletions
diff --git a/tccpp.c b/tccpp.c
index 25d9ca9..4ecc664 100644
--- a/tccpp.c
+++ b/tccpp.c
@@ -3203,14 +3203,11 @@ static void line_macro_output(BufferedFile *f, const char *s, TCCState *s1)
/* Preprocess the current file */
ST_FUNC int tcc_preprocess(TCCState *s1)
{
- Sym *define_start;
-
BufferedFile *file_ref, **iptr, **iptr_new;
int token_seen, d;
const char *s;
preprocess_init(s1);
- define_start = define_stack;
ch = file->buf_ptr[0];
tok_flags = TOK_FLAG_BOL | TOK_FLAG_BOF;
parse_flags = PARSE_FLAG_ASM_COMMENTS | PARSE_FLAG_PREPROCESS |
@@ -3258,6 +3255,5 @@ print_line:
}
fputs(get_tok_str(tok, &tokc), s1->ppfp);
}
- free_defines(define_start);
return 0;
}