aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/exp_imgv.adb
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/exp_imgv.adb')
-rw-r--r--gcc/ada/exp_imgv.adb19
1 files changed, 19 insertions, 0 deletions
diff --git a/gcc/ada/exp_imgv.adb b/gcc/ada/exp_imgv.adb
index f2043f5..398e477 100644
--- a/gcc/ada/exp_imgv.adb
+++ b/gcc/ada/exp_imgv.adb
@@ -1842,6 +1842,15 @@ package body Exp_Imgv is
return;
end if;
+ -- If Image should be transformed using Put_Image, then do so. See
+ -- Exp_Put_Image for details.
+
+ if Exp_Put_Image.Image_Should_Call_Put_Image (N) then
+ Rewrite (N, Exp_Put_Image.Build_Image_Call (N));
+ Analyze_And_Resolve (N, Standard_Wide_String, Suppress => All_Checks);
+ return;
+ end if;
+
Rtyp := Root_Type (Entity (Pref));
Insert_Actions (N, New_List (
@@ -1942,6 +1951,16 @@ package body Exp_Imgv is
return;
end if;
+ -- If Image should be transformed using Put_Image, then do so. See
+ -- Exp_Put_Image for details.
+
+ if Exp_Put_Image.Image_Should_Call_Put_Image (N) then
+ Rewrite (N, Exp_Put_Image.Build_Image_Call (N));
+ Analyze_And_Resolve
+ (N, Standard_Wide_Wide_String, Suppress => All_Checks);
+ return;
+ end if;
+
Rtyp := Root_Type (Entity (Pref));
Insert_Actions (N, New_List (