aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/a-except.ads
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/a-except.ads')
-rw-r--r--gcc/ada/a-except.ads24
1 files changed, 13 insertions, 11 deletions
diff --git a/gcc/ada/a-except.ads b/gcc/ada/a-except.ads
index e010c56..2dae518 100644
--- a/gcc/ada/a-except.ads
+++ b/gcc/ada/a-except.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 1992-2005, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2006, Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
@@ -35,8 +35,7 @@
-- --
------------------------------------------------------------------------------
--- This version of Ada.Exceptions is a full Ada 95 version, but lacks the
--- additional definitions of Exception_Name returning Wide_[Wide_]String.
+-- This version of Ada.Exceptions is a full Ada 95 version.
-- It is used for building the compiler and the basic tools, since these
-- builds may be done with bootstrap compilers that cannot handle these
-- additions. The full version of Ada.Exceptions can be found in the files
@@ -57,14 +56,17 @@ package Ada.Exceptions is
pragma Warnings (Off);
pragma Preelaborate_05;
pragma Warnings (On);
- -- In accordance with Ada 2005 AI-362. The warnings pragmas are so that we
- -- can compile this using older compiler versions, which will ignore the
- -- pragma, which is fine for the bootstrap.
+ -- We make this preelaborable in Ada 2005 mode. If we did not do this, then
+ -- run time units used by the compiler (e.g. s-soflin.ads) would run
+ -- into trouble. Conformance is not an issue, since this version is used
+ -- only by the compiler.
type Exception_Id is private;
+
Null_Id : constant Exception_Id;
type Exception_Occurrence is limited private;
+
type Exception_Occurrence_Access is access all Exception_Occurrence;
Null_Occurrence : constant Exception_Occurrence;
@@ -76,11 +78,11 @@ package Ada.Exceptions is
procedure Raise_Exception (E : Exception_Id; Message : String := "");
-- Note: it would be really nice to give a pragma No_Return for this
- -- procedure, but it would be wrong, since Raise_Exception does return
- -- if given the null exception. However we do special case the name in
- -- the test in the compiler for issuing a warning for a missing return
- -- after this call. Program_Error seems reasonable enough in such a case.
- -- See also the routine Raise_Exception_Always in the private part.
+ -- procedure, but it would be wrong, since Raise_Exception does return if
+ -- given the null exception in Ada 95 mode. However we do special case the
+ -- name in the test in the compiler for issuing a warning for a missing
+ -- return after this call. Program_Error seems reasonable enough in such a
+ -- case. See also the routine Raise_Exception_Always in the private part.
function Exception_Message (X : Exception_Occurrence) return String;