[gcc r12-1494] [Ada] Small cleanup in System.Exceptions

Pierre-Marie de Rodat pmderodat@gcc.gnu.org
Wed Jun 16 08:43:51 GMT 2021


https://gcc.gnu.org/g:6e96a5a503d7d927e4147bea873ac43d2f184b6f

commit r12-1494-g6e96a5a503d7d927e4147bea873ac43d2f184b6f
Author: Eric Botcazou <ebotcazou@adacore.com>
Date:   Wed Feb 17 08:55:15 2021 +0100

    [Ada] Small cleanup in System.Exceptions
    
    gcc/ada/
    
            * libgnat/s-except.ads (ZCX_By_Default): Delete.
            (Require_Body): Likewise.
            * libgnat/s-except.adb: Replace body with pragma No_Body.

Diff:
---
 gcc/ada/libgnat/s-except.adb | 15 +--------------
 gcc/ada/libgnat/s-except.ads | 22 +---------------------
 2 files changed, 2 insertions(+), 35 deletions(-)

diff --git a/gcc/ada/libgnat/s-except.adb b/gcc/ada/libgnat/s-except.adb
index 4b874ca787c..fa220b32b91 100644
--- a/gcc/ada/libgnat/s-except.adb
+++ b/gcc/ada/libgnat/s-except.adb
@@ -29,17 +29,4 @@
 --                                                                          --
 ------------------------------------------------------------------------------
 
---  This package does not require a body, since it is a package renaming. We
---  provide a dummy file containing a No_Body pragma so that previous versions
---  of the body (which did exist) will not interfere.
-
---  pragma No_Body;
-
---  The above pragma is commented out, since for now we can't use No_Body in
---  a unit marked as a Compiler_Unit, since this requires GNAT 6.1, and we
---  do not yet require this for bootstrapping. So instead we use a dummy Taft
---  amendment type to require the body:
-
-package body System.Exceptions is
-   type Require_Body is new Integer;
-end System.Exceptions;
+pragma No_Body;
diff --git a/gcc/ada/libgnat/s-except.ads b/gcc/ada/libgnat/s-except.ads
index ae037ba4179..10448bce1e1 100644
--- a/gcc/ada/libgnat/s-except.ads
+++ b/gcc/ada/libgnat/s-except.ads
@@ -34,30 +34,10 @@ pragma Compiler_Unit_Warning;
 package System.Exceptions is
 
    pragma Preelaborate;
-   --  To let Ada.Exceptions "with" us and let us "with" Standard_Library
-
-   ZCX_By_Default : constant Boolean;
-   --  Visible copy to allow Ada.Exceptions to know the exception model
+   --  To let Ada.Exceptions "with" us
 
 private
 
-   type Require_Body;
-   --  Dummy Taft-amendment type to make it legal (and required) to provide
-   --  a body for this package.
-   --
-   --  We do this because this unit used to have a body in earlier versions
-   --  of GNAT, and it causes various bootstrap path problems etc if we remove
-   --  a body, since we may pick up old unwanted bodies.
-   --
-   --  Note: we use this standard Ada method of requiring a body rather
-   --  than the cleaner pragma No_Body because System.Exceptions is a compiler
-   --  unit, and older bootstrap compilers do not support pragma No_Body. This
-   --  type can be removed, and s-except.adb can be replaced by a source
-   --  containing just that pragma, when we decide to move to a 2008 compiler
-   --  as the minimal bootstrap compiler version. ???
-
-   ZCX_By_Default : constant Boolean := System.ZCX_By_Default;
-
    Foreign_Exception : exception;
    pragma Unreferenced (Foreign_Exception);
    --  This hidden exception is used to represent non-Ada exception to


More information about the Gcc-cvs mailing list