aboutsummaryrefslogtreecommitdiff
path: root/libtcc.c
diff options
context:
space:
mode:
Diffstat (limited to 'libtcc.c')
-rw-r--r--libtcc.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/libtcc.c b/libtcc.c
index 8fd8183..7b232a2 100644
--- a/libtcc.c
+++ b/libtcc.c
@@ -1225,6 +1225,8 @@ LIBTCCAPI void tcc_delete(TCCState *s1)
/* close a preprocessor output */
if (s1->ppfp && s1->ppfp != stdout)
fclose(s1->ppfp);
+ if (s1->dffp && s1->dffp != s1->ppfp)
+ fclose(s1->dffp);
/* free all sections */
for(i = 1; i < s1->nb_sections; i++)
@@ -2175,8 +2177,8 @@ PUB_FUNC int tcc_parse_args(TCCState *s, int argc, char **argv)
s->output_type = TCC_OUTPUT_OBJ;
break;
case TCC_OPTION_d:
- if (*optarg == 'D')
- s->dflag = 1;
+ if (*optarg == 'D' || *optarg == 'M')
+ s->dflag = *optarg;
else {
if (s->warn_unsupported)
goto unsupported_option;