]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
[Ada] Temporarily disable Ada 2022 Image and Put_Image support for tagged types
authorSteve Baird <baird@adacore.com>
Tue, 27 Apr 2021 20:57:36 +0000 (13:57 -0700)
committerPierre-Marie de Rodat <derodat@adacore.com>
Mon, 5 Jul 2021 13:09:13 +0000 (13:09 +0000)
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.

gcc/ada/exp_put_image.adb

index 3a9751b574d967b2d17e2c9c81376e6a89712bd2..0cf38ac8380a7ee04610ac31f546719044140d6e 100644 (file)
@@ -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)