-- --
-- S p e c --
-- --
--- Copyright (C) 1992-2003 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2005 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 --
-- We must turn polling off for this unit, because otherwise we get
-- elaboration circularities with ourself.
+pragma Warnings (Off);
+-- Allow withing of non-Preelaborated units in Ada 2005 mode where this
+-- package will be categorized as Preelaborate. See AI-362 for details.
+-- It is safe in the context of the run-time to violate the rules!
+
with System;
+with System.Parameters;
with System.Standard_Library;
with System.Traceback_Entries;
+pragma Warnings (On);
package Ada.Exceptions is
+pragma Warnings (Off);
+pragma Preelaborate_05 (Exceptions);
+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.
type Exception_Id is private;
Null_Id : constant Exception_Id;
private
package SSL renames System.Standard_Library;
+ package SP renames System.Parameters;
subtype EOA is Exception_Occurrence_Access;
- Exception_Msg_Max_Length : constant := 200;
+ Exception_Msg_Max_Length : constant := SP.Default_Exception_Msg_Max_Length;
------------------
-- Exception_Id --
pragma Stream_Convert (Exception_Occurrence, String_To_EO, EO_To_String);
-- Functions for implementing Exception_Occurrence stream attributes
+ pragma Warnings (Off);
+ -- Allow non-static constants in Ada 2005 mode where this package will be
+ -- implicitly categorized as Preelaborate. See AI-362 for details. It is
+ -- safe in the context of the run-time to violate the rules!
+
Null_Occurrence : constant Exception_Occurrence := (
Id => Null_Id,
Msg_Length => 0,
Tracebacks => (others => TBE.Null_TB_Entry),
Private_Data => System.Null_Address);
+ pragma Warnings (On);
+
end Ada.Exceptions;
-- --
-- S p e c --
-- --
--- Copyright (C) 1992-2003 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2005 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- --
-- --
------------------------------------------------------------------------------
--- This is the default VxWorks AE 653 version of the package.`
+-- This is the default VxWorks AE 653 version of the package
-- This package defines some system dependent parameters for GNAT. These
-- are values that are referenced by the runtime library and are therefore
-- predefined output or not (True means that traces are output).
-- See System.Traces for more details.
+ ------------------------------
+ -- Exception Message Length --
+ ------------------------------
+
+ Default_Exception_Msg_Max_Length : constant := 200;
+ -- This constant specifies the default number of characters to allow
+ -- in an exception message (200 is minimum required by RM 11.4.1(18)).
+
end System.Parameters;
-- --
-- S p e c --
-- --
--- Copyright (C) 1992-2003 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2005 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- --
------------------------------------------------------------------------------
-- This is the HP version of this package
--- Blank line intentional so that it lines up exactly with default.
-- This package defines some system dependent parameters for GNAT. These
-- are values that are referenced by the runtime library and are therefore
-- predefined output or not (True means that traces are output).
-- See System.Traces for more details.
+ ------------------------------
+ -- Exception Message Length --
+ ------------------------------
+
+ Default_Exception_Msg_Max_Length : constant := 200;
+ -- This constant specifies the default number of characters to allow
+ -- in an exception message (200 is minimum required by RM 11.4.1(18)).
+
end System.Parameters;
-- --
-- S p e c --
-- --
--- Copyright (C) 1992-2003 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2005 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- --
-- --
------------------------------------------------------------------------------
--- This is the OpenVMS version for restricted tasking.
-
--- Blank line intentional so that it lines up exactly with default.
+-- This is the OpenVMS version for restricted tasking
-- This package defines some system dependent parameters for GNAT. These
-- are values that are referenced by the runtime library and are therefore
-- predefined output or not (True means that traces are output).
-- See System.Traces for more details.
+ ------------------------------
+ -- Exception Message Length --
+ ------------------------------
+
+ Default_Exception_Msg_Max_Length : constant := 512;
+ -- This constant specifies the maximum number of characters to allow in an
+ -- exception message (see RM 11.4.1(18)). The value for VMS exceeds the
+ -- default minimum of 200 to allow for the length of chained VMS condition
+ -- handling messages.
+
end System.Parameters;
-- --
-- S p e c --
-- --
--- Copyright (C) 1992-2003 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2005 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- --
-- --
------------------------------------------------------------------------------
--- This is the OpenVMS version.
--- Blank line intentional so that it lines up exactly with default.
+-- This is the OpenVMS version
-- This package defines some system dependent parameters for GNAT. These
-- are values that are referenced by the runtime library and are therefore
-- predefined output or not (True means that traces are output).
-- See System.Traces for more details.
+ ------------------------------
+ -- Exception Message Length --
+ ------------------------------
+
+ Default_Exception_Msg_Max_Length : constant := 512;
+ -- This constant specifies the maximum number of characters to allow in an
+ -- exception message (see RM 11.4.1(18)). The value for VMS exceeds the
+ -- default minimum of 200 to allow for the length of chained VMS condition
+ -- handling messages.
+
end System.Parameters;
-- --
-- S p e c --
-- --
--- Copyright (C) 1992-2003 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2005 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- --
-- --
------------------------------------------------------------------------------
--- This is the default VxWorks version of the package.`
+-- This is the default VxWorks version of the package`
-- This package defines some system dependent parameters for GNAT. These
-- are values that are referenced by the runtime library and are therefore
-- predefined output or not (True means that traces are output).
-- See System.Traces for more details.
+ ------------------------------
+ -- Exception Message Length --
+ ------------------------------
+
+ Default_Exception_Msg_Max_Length : constant := 200;
+ -- This constant specifies the default number of characters to allow
+ -- in an exception message (200 is minimum required by RM 11.4.1(18)).
+
end System.Parameters;
-- --
-- S p e c --
-- --
--- Copyright (C) 1992-2003 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2005 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- --
-- --
------------------------------------------------------------------------------
--- This is the default version used for all systems for which no special
--- target-specific version of this package is provided.
+-- Default version used when no target-specific version is provided
-- This package defines some system dependent parameters for GNAT. These
-- are values that are referenced by the runtime library and are therefore
-- predefined output or not (True means that traces are output).
-- See System.Traces for more details.
+ ------------------------------
+ -- Exception Message Length --
+ ------------------------------
+
+ Default_Exception_Msg_Max_Length : constant := 200;
+ -- This constant specifies the default number of characters to allow
+ -- in an exception message (200 is minimum required by RM 11.4.1(18)).
+
end System.Parameters;