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)