diff mbox series

[Ada] Remove System.Img_Enum_New unit

Message ID 20210922151542.GA1907736@adacore.com
State New
Headers show
Series [Ada] Remove System.Img_Enum_New unit | expand

Commit Message

Pierre-Marie de Rodat Sept. 22, 2021, 3:15 p.m. UTC
It was still needed only because of bootstrap path considerations that
are obsolete after the recent overhaul of the bootstrap process.

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

gcc/ada/

	* libgnat/s-imenne.ads, libgnat/s-imenne.adb: Delete.
	* gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Remove s-imenne.o.
	(GNATBIND_OBJS): Likewise.
diff mbox series

Patch

diff --git a/gcc/ada/gcc-interface/Make-lang.in b/gcc/ada/gcc-interface/Make-lang.in
--- a/gcc/ada/gcc-interface/Make-lang.in
+++ b/gcc/ada/gcc-interface/Make-lang.in
@@ -517,7 +517,6 @@  GNAT_ADA_OBJS+= \
  ada/libgnat/s-excmac.o	\
  ada/libgnat/s-exctab.o	\
  ada/libgnat/s-htable.o	\
- ada/libgnat/s-imenne.o	\
  ada/libgnat/s-imgint.o	\
  ada/libgnat/s-mastop.o	\
  ada/libgnat/s-memory.o	\
@@ -684,7 +683,6 @@  GNATBIND_OBJS +=  \
  ada/libgnat/s-excmac.o   \
  ada/libgnat/s-exctab.o   \
  ada/libgnat/s-htable.o   \
- ada/libgnat/s-imenne.o   \
  ada/libgnat/s-imgint.o   \
  ada/libgnat/s-mastop.o   \
  ada/libgnat/s-memory.o   \


diff --git a/gcc/ada/libgnat/s-imenne.adb /dev/null
deleted file mode 100644
--- a/gcc/ada/libgnat/s-imenne.adb
+++ /dev/null
@@ -1,170 +0,0 @@ 
-------------------------------------------------------------------------------
---                                                                          --
---                         GNAT RUN-TIME COMPONENTS                         --
---                                                                          --
---                  S Y S T E M . I M G _ E N U M _ N E W                   --
---                                                                          --
---                                 B o d y                                  --
---                                                                          --
---          Copyright (C) 2000-2021, Free Software Foundation, Inc.         --
---                                                                          --
--- GNAT is free software;  you can  redistribute it  and/or modify it under --
--- terms of the  GNU General Public License as published  by the Free Soft- --
--- ware  Foundation;  either version 3,  or (at your option) any later ver- --
--- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
--- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
--- or FITNESS FOR A PARTICULAR PURPOSE.                                     --
---                                                                          --
--- As a special exception under Section 7 of GPL version 3, you are granted --
--- additional permissions described in the GCC Runtime Library Exception,   --
--- version 3.1, as published by the Free Software Foundation.               --
---                                                                          --
--- You should have received a copy of the GNU General Public License and    --
--- a copy of the GCC Runtime Library Exception along with this program;     --
--- see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see    --
--- <http://www.gnu.org/licenses/>.                                          --
---                                                                          --
--- GNAT was originally developed  by the GNAT team at  New York University. --
--- Extensive contributions were provided by Ada Core Technologies Inc.      --
---                                                                          --
-------------------------------------------------------------------------------
-
-pragma Compiler_Unit_Warning;
-
-with Ada.Unchecked_Conversion;
-
-package body System.Img_Enum_New is
-
-   -------------------------
-   -- Image_Enumeration_8 --
-   -------------------------
-
-   procedure Image_Enumeration_8
-     (Pos     : Natural;
-      S       : in out String;
-      P       : out Natural;
-      Names   : String;
-      Indexes : System.Address)
-   is
-      pragma Assert (S'First = 1);
-
-      type Natural_8 is range 0 .. 2 ** 7 - 1;
-      subtype Names_Index is
-        Natural_8 range Natural_8 (Names'First)
-                          .. Natural_8 (Names'Last) + 1;
-      subtype Index is Natural range Natural'First .. Names'Length;
-      type Index_Table is array (Index) of Names_Index;
-      type Index_Table_Ptr is access Index_Table;
-
-      function To_Index_Table_Ptr is
-        new Ada.Unchecked_Conversion (System.Address, Index_Table_Ptr);
-
-      IndexesT : constant Index_Table_Ptr := To_Index_Table_Ptr (Indexes);
-
-      pragma Assert (Pos in IndexesT'Range);
-      pragma Assert (Pos + 1 in IndexesT'Range);
-
-      Start : constant Natural := Natural (IndexesT (Pos));
-      Next  : constant Natural := Natural (IndexesT (Pos + 1));
-
-      pragma Assert (Next - 1 >= Start);
-      pragma Assert (Start >= Names'First);
-      pragma Assert (Next - 1 <= Names'Last);
-
-      pragma Assert (Next - Start <= S'Last);
-      --  The caller should guarantee that S is large enough to contain the
-      --  enumeration image.
-   begin
-      S (1 .. Next - Start) := Names (Start .. Next - 1);
-      P := Next - Start;
-   end Image_Enumeration_8;
-
-   --------------------------
-   -- Image_Enumeration_16 --
-   --------------------------
-
-   procedure Image_Enumeration_16
-     (Pos     : Natural;
-      S       : in out String;
-      P       : out Natural;
-      Names   : String;
-      Indexes : System.Address)
-   is
-      pragma Assert (S'First = 1);
-
-      type Natural_16 is range 0 .. 2 ** 15 - 1;
-      subtype Names_Index is
-        Natural_16 range Natural_16 (Names'First)
-                           .. Natural_16 (Names'Last) + 1;
-      subtype Index is Natural range Natural'First .. Names'Length;
-      type Index_Table is array (Index) of Names_Index;
-      type Index_Table_Ptr is access Index_Table;
-
-      function To_Index_Table_Ptr is
-        new Ada.Unchecked_Conversion (System.Address, Index_Table_Ptr);
-
-      IndexesT : constant Index_Table_Ptr := To_Index_Table_Ptr (Indexes);
-
-      pragma Assert (Pos in IndexesT'Range);
-      pragma Assert (Pos + 1 in IndexesT'Range);
-
-      Start : constant Natural := Natural (IndexesT (Pos));
-      Next  : constant Natural := Natural (IndexesT (Pos + 1));
-
-      pragma Assert (Next - 1 >= Start);
-      pragma Assert (Start >= Names'First);
-      pragma Assert (Next - 1 <= Names'Last);
-
-      pragma Assert (Next - Start <= S'Last);
-      --  The caller should guarantee that S is large enough to contain the
-      --  enumeration image.
-   begin
-      S (1 .. Next - Start) := Names (Start .. Next - 1);
-      P := Next - Start;
-   end Image_Enumeration_16;
-
-   --------------------------
-   -- Image_Enumeration_32 --
-   --------------------------
-
-   procedure Image_Enumeration_32
-     (Pos     : Natural;
-      S       : in out String;
-      P       : out Natural;
-      Names   : String;
-      Indexes : System.Address)
-   is
-      pragma Assert (S'First = 1);
-
-      type Natural_32 is range 0 .. 2 ** 31 - 1;
-      subtype Names_Index is
-        Natural_32 range Natural_32 (Names'First)
-                           .. Natural_32 (Names'Last) + 1;
-      subtype Index is Natural range Natural'First .. Names'Length;
-      type Index_Table is array (Index) of Names_Index;
-      type Index_Table_Ptr is access Index_Table;
-
-      function To_Index_Table_Ptr is
-        new Ada.Unchecked_Conversion (System.Address, Index_Table_Ptr);
-
-      IndexesT : constant Index_Table_Ptr := To_Index_Table_Ptr (Indexes);
-
-      pragma Assert (Pos in IndexesT'Range);
-      pragma Assert (Pos + 1 in IndexesT'Range);
-
-      Start : constant Natural := Natural (IndexesT (Pos));
-      Next  : constant Natural := Natural (IndexesT (Pos + 1));
-
-      pragma Assert (Next - 1 >= Start);
-      pragma Assert (Start >= Names'First);
-      pragma Assert (Next - 1 <= Names'Last);
-
-      pragma Assert (Next - Start <= S'Last);
-      --  The caller should guarantee that S is large enough to contain the
-      --  enumeration image.
-   begin
-      S (1 .. Next - Start) := Names (Start .. Next - 1);
-      P := Next - Start;
-   end Image_Enumeration_32;
-
-end System.Img_Enum_New;


diff --git a/gcc/ada/libgnat/s-imenne.ads /dev/null
deleted file mode 100644
--- a/gcc/ada/libgnat/s-imenne.ads
+++ /dev/null
@@ -1,85 +0,0 @@ 
-------------------------------------------------------------------------------
---                                                                          --
---                         GNAT RUN-TIME COMPONENTS                         --
---                                                                          --
---                  S Y S T E M . I M G _ E N U M _ N E W                   --
---                                                                          --
---                                 S p e c                                  --
---                                                                          --
---          Copyright (C) 2000-2021, Free Software Foundation, Inc.         --
---                                                                          --
--- GNAT is free software;  you can  redistribute it  and/or modify it under --
--- terms of the  GNU General Public License as published  by the Free Soft- --
--- ware  Foundation;  either version 3,  or (at your option) any later ver- --
--- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
--- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
--- or FITNESS FOR A PARTICULAR PURPOSE.                                     --
---                                                                          --
--- As a special exception under Section 7 of GPL version 3, you are granted --
--- additional permissions described in the GCC Runtime Library Exception,   --
--- version 3.1, as published by the Free Software Foundation.               --
---                                                                          --
--- You should have received a copy of the GNU General Public License and    --
--- a copy of the GCC Runtime Library Exception along with this program;     --
--- see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see    --
--- <http://www.gnu.org/licenses/>.                                          --
---                                                                          --
--- GNAT was originally developed  by the GNAT team at  New York University. --
--- Extensive contributions were provided by Ada Core Technologies Inc.      --
---                                                                          --
-------------------------------------------------------------------------------
-
---  Enumeration_Type'Image for all enumeration types except those in package
---  Standard (where we have no opportunity to build image tables), and in
---  package System (where it is too early to start building image tables).
---  Special routines exist for the enumeration types in these packages.
-
---  Note: this is an obsolete package replaced by instantiations of the generic
---  package System.Image_N. The reason we maintain this package is that when
---  bootstrapping with an old compiler, the old compiler will search for this
---  unit, expecting to find these functions. The new compiler will search for
---  procedures in the instances of System.Image_N instead.
-
-pragma Compiler_Unit_Warning;
-
-package System.Img_Enum_New is
-   pragma Pure;
-
-   procedure Image_Enumeration_8
-     (Pos     : Natural;
-      S       : in out String;
-      P       : out Natural;
-      Names   : String;
-      Indexes : System.Address);
-   --  Used to compute Enum'Image (Str) where Enum is some enumeration type
-   --  other than those defined in package Standard. Names is a string with
-   --  a lower bound of 1 containing the characters of all the enumeration
-   --  literals concatenated together in sequence. Indexes is the address of
-   --  an array of type array (0 .. N) of Natural_8, where N is the number of
-   --  enumeration literals in the type. The Indexes values are the starting
-   --  subscript of each enumeration literal, indexed by Pos values, with an
-   --  extra entry at the end containing Names'Length + 1. The reason that
-   --  Indexes is passed by address is that the actual type is created on the
-   --  fly by the expander. The desired 'Image value is stored in S (1 .. P)
-   --  and P is set on return. The caller guarantees that S is long enough to
-   --  hold the result and that the lower bound is 1.
-
-   procedure Image_Enumeration_16
-     (Pos     : Natural;
-      S       : in out String;
-      P       : out Natural;
-      Names   : String;
-      Indexes : System.Address);
-   --  Identical to Set_Image_Enumeration_8 except that it handles types using
-   --  array (0 .. Num) of Natural_16 for the Indexes table.
-
-   procedure Image_Enumeration_32
-     (Pos     : Natural;
-      S       : in out String;
-      P       : out Natural;
-      Names   : String;
-      Indexes : System.Address);
-   --  Identical to Set_Image_Enumeration_8 except that it handles types using
-   --  array (0 .. Num) of Natural_32 for the Indexes table.
-
-end System.Img_Enum_New;