[PATCH] driver, toplevel: Avoid emitting the version information twice.

Richard Biener richard.guenther@gmail.com
Mon Jan 30 07:48:27 GMT 2023


On Sun, Jan 29, 2023 at 12:35 PM Iain Sandoe via Gcc-patches
<gcc-patches@gcc.gnu.org> wrote:
>
> Technically, this is seems to be a regression somewhere between 4.2 and
> 4.6 but, it seems, not enough for anyone to care too much.  Tested on
> various Darwin versions and x86_64, powerpc64 linux,
> OK for trunk {now,stage1}?

This will elide the earlier printing, right?  I see

> ./cc1 -quiet t.c -version -v
GNU C17 (GCC) version 13.0.1 20230130 (experimental) (x86_64-pc-linux-gnu)
        compiled by GNU C version 7.5.0, GMP version 6.1.2, MPFR
version 4.0.2-p6, MPC version 1.1.0, isl version isl-0.18-GMP

GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
ignoring nonexistent directory
"/usr/local/lib64/gcc/x86_64-pc-linux-gnu/13.0.1/include"
ignoring nonexistent directory
"/usr/local/lib64/gcc/x86_64-pc-linux-gnu/13.0.1/include-fixed"
ignoring nonexistent directory "/usr/local/lib64/../x86_64-pc-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/local/include
 /usr/include
End of search list.
GNU C17 (GCC) version 13.0.1 20230130 (experimental) (x86_64-pc-linux-gnu)
        compiled by GNU C version 7.5.0, GMP version 6.1.2, MPFR
version 4.0.2-p6, MPC version 1.1.0, isl version isl-0.18-GMP

GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: 04b9febc760f5d967341e708a5944221

eliding the 2nd would be prefered so the info comes first?

> thanks, Iain
>
> --- 8< ---
>
> For a regular compile job, with -v we emit the GCC version information
> twice - once from main() and once from process_options().  We do not need
> to emit the former unless the compiler will exit before calling
> process_options(), which is controlled by the 'exit_after_options' flag.
>
> Gating the first output on that flag resolves this.
>
> Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
>
> gcc/ChangeLog:
>
>         * toplev.cc (toplev::main): Only print the version information from
>         the toplevel main() if we will exit before processing options.
> ---
>  gcc/toplev.cc | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/gcc/toplev.cc b/gcc/toplev.cc
> index 42937f0ba00..8beaa2ab64d 100644
> --- a/gcc/toplev.cc
> +++ b/gcc/toplev.cc
> @@ -2252,7 +2252,7 @@ toplev::main (int argc, char **argv)
>
>    initialize_plugins ();
>
> -  if (version_flag)
> +  if (version_flag && exit_after_options)
>      print_version (stderr, "", true);
>
>    if (help_flag)
> --
> 2.37.1 (Apple Git-137.1)
>


More information about the Gcc-patches mailing list