https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109816

--- Comment #8 from Tobias Burnus <burnus at gcc dot gnu.org> ---
First, I want to remark that inside lto_output_toplevel_asms, 
lto_stream_offload_p is true even with -flto.

However, the following is for output_symtab:

(In reply to Jakub Jelinek from comment #7)
> Not
> --- gcc/lto-cgraph.cc 2023-01-09 13:30:47.105343886 +0100
> +++ gcc/lto-cgraph.cc 2023-05-11 23:05:54.266991677 +0200
> @@ -1023,7 +1023,8 @@ output_symtab (void)
>    if (!asm_nodes_output)
>      {
>        asm_nodes_output = true;
> -      lto_output_toplevel_asms ();
> +      if (!lto_stream_offload_p)
> +     lto_output_toplevel_asms ();

This seems to work, kind of. The only case (I found) where it fails is for:
  -flto -fwpa
Because in that case, lto_stream_offload_p == 1. While there is a diagnostic
(warning), it still duly continues and uses the wrong value. The diagnostic is:

cc1plus: warning: command-line option '-fwpa' is valid for LTO but not for C++

Reply via email to