This affectes where `tcc -E -MD file.c` will place generated dependency
information -- previously, for `tcc -E` output_default was a.out, and so
deps were put into a.d .
Avoid this behaviour, by treating `tcc -E` as `tcc -c` with respect to
output_default computation.
This will not hurt anything else (preprocessor outputs to either stdout,
or to explicitely given (-o <file>) destination, so no default filename
is used here), and on the other hand `tcc -E -MD file.c` now puts
dependencies into file.d (the same behaviour as for gcc -E).
v2:
- restructured condition a bit to make it more clear
---
libtcc.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/libtcc.c b/libtcc.c
index 1df16a3..d3200ef 100644
--- a/libtcc.c
+++ b/libtcc.c
@@ -1583,7 +1583,9 @@ LIBTCCAPI const char *tcc_default_target(TCCState *s)
strcpy(ext, ".exe");
else
#endif
- if (s->output_type == TCC_OUTPUT_OBJ && !s->reloc_output && *ext)
+ if (( (s->output_type == TCC_OUTPUT_OBJ && !s->reloc_output) ||
+ (s->output_type == TCC_OUTPUT_PREPROCESS) )
+ && *ext)
strcpy(ext, ".o");
else
pstrcpy(outfile_default, sizeof(outfile_default), "a.out");
--
1.7.1.427.g9562c
_______________________________________________
Tinycc-devel mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/tinycc-devel