Unified · Split
| @@ -1723,6 +1723,7 @@ PUB_FUNC int tcc_parse_args(TCCState *s, int *pargc, char ***pargv, int optind) · 1722 unmodified lines | |||
| 1723 | int tool = 0, arg_start = 0, noaction = optind; | 1723 | int tool = 0, arg_start = 0, noaction = optind; |
| 1724 | char **argv = *pargv; | 1724 | char **argv = *pargv; |
| 1725 | int argc = *pargc; | 1725 | int argc = *pargc; |
| 1726 | int help = 0; /* remember if -h/--help has been seen */ | ||
| 1726 | 1727 | ||
| 1727 | cstr_new(&linker_arg); | 1728 | cstr_new(&linker_arg); |
| 1728 | 1729 | ||
| @@ -1773,12 +1774,13 @@ reparse: · 44 unmodified lines | |||
| 1773 | 1774 | ||
| 1774 | switch(popt->index) { | 1775 | switch(popt->index) { |
| 1775 | case TCC_OPTION_HELP: | 1776 | case TCC_OPTION_HELP: |
| 1776 | if (s->verbose > 0) | 1777 | /* help is requested, postpone return to check for -v */ |
| 1777 | return OPT_VERBOSE_HELP; | 1778 | help = OPT_HELP; |
| 1778 | else | 1779 | break; |
| 1779 | return OPT_HELP; | ||
| 1780 | case TCC_OPTION_HELP2: | 1780 | case TCC_OPTION_HELP2: |
| 1781 | return OPT_HELP2; | 1781 | /* help is requested, postpone return to check for -v */ |
| 1782 | help = OPT_HELP2; | ||
| 1783 | break; | ||
| 1782 | case TCC_OPTION_I: | 1784 | case TCC_OPTION_I: |
| 1783 | tcc_add_include_path(s, optarg); | 1785 | tcc_add_include_path(s, optarg); |
| 1784 | break; | 1786 | break; |
| @@ -2064,6 +2066,14 @@ unsupported_option: · 279 unmodified lines | |||
| 2064 | break; | 2066 | break; |
| 2065 | } | 2067 | } |
| 2066 | } | 2068 | } |
| 2069 | |||
| 2070 | if (help) { | ||
| 2071 | if (s->verbose > 0) | ||
| 2072 | return OPT_VERBOSE_HELP; | ||
| 2073 | else | ||
| 2074 | return help; | ||
| 2075 | } | ||
| 2076 | |||
| 2067 | if (last_o > 0) | 2077 | if (last_o > 0) |
| 2068 | tcc_define_symbol(s, "__OPTIMIZE__", NULL); | 2078 | tcc_define_symbol(s, "__OPTIMIZE__", NULL); |
| 2069 | if (linker_arg.size) { | 2079 | if (linker_arg.size) { |
| @@ -273,7 +273,7 @@ redo: · 272 unmodified lines | |||
| 273 | return 0; | 273 | return 0; |
| 274 | } | 274 | } |
| 275 | if (opt == OPT_HELP2) { | 275 | if (opt == OPT_HELP2) { |
| 276 | fputs(help, stdout); | 276 | fputs(help2, stdout); |
| 277 | return 0; | 277 | return 0; |
| 278 | } | 278 | } |
| 279 | if (opt == OPT_VERBOSE_HELP) { | 279 | if (opt == OPT_VERBOSE_HELP) { |