On Thu, Jan 20, 2022 at 10:44:18AM +0100, Martin Liška wrote:
> The patch disables -Wformat-diag for RTL checking diagnostics.
> 
> Patch can bootstrap on x86_64-linux-gnu and survives regression tests.
> 
> Ready to be installed?
> Thanks,
> Martin
> 
>       PR bootstrap/104135
> 
> gcc/ChangeLog:
> 
>       * emit-rtl.cc (make_insn_raw): Fix -Wformat-diag warnings.
>       * rtl.cc: Partially disable -Wformat-diag for RTL checking
>       error messages.

> --- a/gcc/emit-rtl.cc
> +++ b/gcc/emit-rtl.cc
> @@ -3997,7 +3997,7 @@ make_insn_raw (rtx pattern)
>         || (GET_CODE (insn) == SET
>             && SET_DEST (insn) == pc_rtx)))
>      {
> -      warning (0, "ICE: emit_insn used where emit_jump_insn needed:\n");
> +      warning (0, "ICE: %<emit_insn%> used where %<emit_jump_insn%> 
> needed:");
>        debug_rtx (insn);
>      }
>  #endif
> diff --git a/gcc/rtl.cc b/gcc/rtl.cc
> index 02dd2554728..f3d85814014 100644
> --- a/gcc/rtl.cc
> +++ b/gcc/rtl.cc
> @@ -870,6 +870,12 @@ dump_rtx_statistics (void)
>  }
>  
>  #if defined ENABLE_RTL_CHECKING && (GCC_VERSION >= 2007)
> +
> +#if __GNUC__ >= 10
> +#pragma GCC diagnostic push
> +#pragma GCC diagnostic ignored "-Wformat-diag"
> +#endif

Please add a comment why we do this above #if __GNUC__ >= 10
line.

> +
>  void
>  rtl_check_failed_bounds (const_rtx r, int n, const char *file, int line,
>                        const char *func)
> @@ -945,6 +951,10 @@ rtl_check_failed_code_mode (const_rtx r, enum rtx_code 
> code, machine_mode mode,
>                 func, trim_filename (file), line);
>  }
> +#if __GNUC__ >= 10
> +#pragma GCC diagnostic pop
> +#endif
> +

Please add empty line above this.
LGTM with those changes.

        Jakub

Reply via email to