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.
master
seyko 2015-03-03 14:31:47 +03:00
parent b7b9f9f511
commit 252a151fc6
1 changed files with 0 additions and 4 deletions

View File

@ -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;
}