Revert to having support for Ada 2022's Image and Put_Image attributes
of tagged types conditional on the -gnatd_z switch (as opposed
to being enabled unconditionally). This is a temporary change, so the
comments in debug.adb about the -gnatd_z switch have not been restored.

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

gcc/ada/

        * exp_put_image.adb:
        (Enable_Put_Image, Preload_Root_Buffer_Type): Revert to querying
        the -gnatd_z switch, as opposed to testing whether Ada_Version >= 
Ada_2022.
diff --git a/gcc/ada/exp_put_image.adb b/gcc/ada/exp_put_image.adb
--- a/gcc/ada/exp_put_image.adb
+++ b/gcc/ada/exp_put_image.adb
@@ -26,6 +26,7 @@
 with Aspects;        use Aspects;
 with Atree;          use Atree;
 with Csets;          use Csets;
+with Debug;          use Debug;
 with Einfo;          use Einfo;
 with Einfo.Entities; use Einfo.Entities;
 with Einfo.Utils;    use Einfo.Utils;
@@ -50,6 +51,9 @@ with Uintp;          use Uintp;
 
 package body Exp_Put_Image is
 
+   Tagged_Put_Image_Enabled : Boolean renames Debug_Flag_Underscore_Z;
+   --  Temporary until we resolve mixing Ada 2012 and 2022 code
+
    -----------------------
    -- Local Subprograms --
    -----------------------
@@ -933,6 +937,7 @@ package body Exp_Put_Image is
       if Ada_Version < Ada_2022
         or else Is_Remote_Types (Scope (Typ))
         or else (Is_Tagged_Type (Typ) and then In_Predefined_Unit (Typ))
+        or else (Is_Tagged_Type (Typ) and then not Tagged_Put_Image_Enabled)
       then
          return False;
       end if;
@@ -1188,6 +1193,7 @@ package body Exp_Put_Image is
 
       if not In_Predefined_Unit (Compilation_Unit)
         and then Ada_Version >= Ada_2022
+        and then Tagged_Put_Image_Enabled
         and then Tagged_Seen
         and then not No_Run_Time_Mode
         and then RTE_Available (RE_Root_Buffer_Type)


Reply via email to