[Ada] Replace use of 'Image with use of Error_Msg_Uint

Message ID 20210922151537.GA1907658@adacore.com
State Committed
Commit 4a3cb9e31936dda905082d9a27389c1622a3c55c
Headers
Series [Ada] Replace use of 'Image with use of Error_Msg_Uint |

Commit Message

Pierre-Marie de Rodat Sept. 22, 2021, 3:15 p.m. UTC
  'Image is too recent for bootstraping and shouldn't be used when
emitting error messages in any case.

Tested on x86_64-pc-linux-gnu, committed on trunk

gcc/ada/

	* sem_case.adb (Composite_Case_Ops): Replace 'Image with
	Error_Msg_Uint.
  

Patch

diff --git a/gcc/ada/sem_case.adb b/gcc/ada/sem_case.adb
--- a/gcc/ada/sem_case.adb
+++ b/gcc/ada/sem_case.adb
@@ -1717,12 +1717,12 @@  package body Sem_Case is
                         and then List_Length (Expressions (Expr))
                            /= Nat (Part_Id'Last)
                      then
+                        Error_Msg_Uint_1 := UI_From_Int
+                          (List_Length (Expressions (Expr)));
+                        Error_Msg_Uint_2 := UI_From_Int (Int (Part_Id'Last));
                         Error_Msg_N
-                          ("Array aggregate length"
-                            & List_Length (Expressions (Expr))'Image
-                            & " does not match length of"
-                            & " statically constrained case selector"
-                            & Part_Id'Last'Image, Expr);
+                          ("array aggregate length ^ does not match length " &
+                           "of statically constrained case selector ^", Expr);
                         return;
                      end if;
 
@@ -1761,12 +1761,13 @@  package body Sem_Case is
                         if not Unconstrained_Array_Case
                            and then Strlen /= Nat (Part_Id'Last)
                         then
+                           Error_Msg_Uint_1 := UI_From_Int (Strlen);
+                           Error_Msg_Uint_2 := UI_From_Int
+                             (Int (Part_Id'Last));
                            Error_Msg_N
-                             ("String literal length"
-                              & Strlen'Image
-                              & " does not match length of"
-                              & " statically constrained case selector"
-                              & Part_Id'Last'Image, Expr);
+                             ("String literal length ^ does not match length" &
+                              " of statically constrained case selector ^",
+                              Expr);
                            return;
                         end if;