From 82536fbb8a7d150b829650378e0ba07dad5c8fb8 Mon Sep 17 00:00:00 2001 From: Iain Sandoe Date: Thu, 14 Apr 2022 20:08:14 +0100 Subject: [PATCH] libgccjit: Fix a bootstrap break for some targets. Some targets use 'long long unsigned int' for unsigned HW int, and this leads to a Werror=format= fail for two print cases in jit-playback.cc introduced in r12-8117-g30f7c83e9cfe (Add support for bitcasts [PR104071]) As discussed on IRC, casting to (long) seems entirely reasonable for the values (since they are type sizes). tested that this fixes bootstrap on x86_64-darwin19 and running check-jit. Signed-off-by: Iain Sandoe gcc/jit/ChangeLog: * jit-playback.cc (new_bitcast): Cast values returned by tree_to_uhwi to 'long' to match the print format. --- gcc/jit/jit-playback.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/jit/jit-playback.cc b/gcc/jit/jit-playback.cc index b1e72fbcf8a..6be6bdf8dea 100644 --- a/gcc/jit/jit-playback.cc +++ b/gcc/jit/jit-playback.cc @@ -1440,10 +1440,10 @@ new_bitcast (location *loc, active_playback_ctxt->add_error (loc, "bitcast with types of different sizes"); fprintf (stderr, "input expression (size: %ld):\n", - tree_to_uhwi (expr_size)); + (long) tree_to_uhwi (expr_size)); debug_tree (t_expr); fprintf (stderr, "requested type (size: %ld):\n", - tree_to_uhwi (type_size)); + (long) tree_to_uhwi (type_size)); debug_tree (t_dst_type); } tree t_bitcast = build1 (VIEW_CONVERT_EXPR, t_dst_type, t_expr);