From 47363cbb977ae3f152a02698635388ac1dd06292 Mon Sep 17 00:00:00 2001 From: Christian Jullien Date: Mon, 1 Jun 2020 17:11:11 +0200 Subject: [PATCH] Support -v --help the same way as gcc does --- libtcc.c | 3 +++ tcc.c | 18 ++++++++++++++---- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/libtcc.c b/libtcc.c index fb52ad19..dd1826b1 100644 --- a/libtcc.c +++ b/libtcc.c @@ -1773,6 +1773,9 @@ reparse: switch(popt->index) { case TCC_OPTION_HELP: + if (s->verbose > 0) + return OPT_VERBOSE_HELP; + else return OPT_HELP; case TCC_OPTION_HELP2: return OPT_HELP2; diff --git a/tcc.c b/tcc.c index 37ef9609..1913ffc4 100644 --- a/tcc.c +++ b/tcc.c @@ -268,10 +268,20 @@ redo: opt = tcc_parse_args(s, &argc, &argv, 1); if (n == 0) { - if (opt == OPT_HELP) - return fputs(help, stdout), 0; - if (opt == OPT_HELP2) - return fputs(help2, stdout), 0; + if (opt == OPT_HELP) { + fputs(help, stdout); + return 0; + } + if (opt == OPT_HELP2) { + fputs(help, stdout); + return 0; + } + if (opt == OPT_VERBOSE_HELP) { + /* simulate gcc -v --help */ + fputs(help, stdout); + fputs(help2, stdout); + return 0; + } if (opt == OPT_M32 || opt == OPT_M64) tcc_tool_cross(s, argv, opt); /* never returns */ if (s->verbose)