summaryrefslogtreecommitdiff
path: root/gcc/ada/s-vmexta.ads
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/s-vmexta.ads')
-rw-r--r--gcc/ada/s-vmexta.ads26
1 files changed, 17 insertions, 9 deletions
diff --git a/gcc/ada/s-vmexta.ads b/gcc/ada/s-vmexta.ads
index e19929e1df9..5ad3f3cd373 100644
--- a/gcc/ada/s-vmexta.ads
+++ b/gcc/ada/s-vmexta.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 1997-2009, Free Software Foundation, Inc. --
+-- Copyright (C) 1997-2013, 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- --
@@ -29,7 +29,7 @@
-- --
------------------------------------------------------------------------------
--- This package is usually used only on Alpha/VMS systems in the case
+-- This package is usually used only on OpenVMS systems in the case
-- where there is at least one Import/Export exception present.
with System.Standard_Library;
@@ -38,22 +38,30 @@ package System.VMS_Exception_Table is
package SSL renames System.Standard_Library;
+ subtype Exception_Code is System.Address;
+
procedure Register_VMS_Exception
- (Code : SSL.Exception_Code;
+ (Code : Exception_Code;
E : SSL.Exception_Data_Ptr);
- -- Register an exception in the hash table mapping with a VMS
- -- condition code.
+ -- Register an exception in hash table mapping with a VMS condition code.
+ --
+ -- The table is used by exception code (the personnality routine) to detect
+ -- wether a VMS exception (aka condition) is known by the Ada code. In
+ -- that case, the identity of the imported or exported exception is used
+ -- to create the occurrence.
-- LOTS more comments needed here regarding the entire scheme ???
private
- function Base_Code_In (Code : SSL.Exception_Code) return SSL.Exception_Code;
+ -- The following functions are directly called (without import/export) in
+ -- init.c by __gnat_handle_vms_condition.
+
+ function Base_Code_In (Code : Exception_Code) return Exception_Code;
-- Value of Code with the severity bits masked off
- function Coded_Exception (X : SSL.Exception_Code)
+ function Coded_Exception (X : Exception_Code)
return SSL.Exception_Data_Ptr;
- -- Given a VMS condition, find and return it's allocated Ada exception
- -- (called only from init.c).
+ -- Given a VMS condition, find and return its allocated Ada exception
end System.VMS_Exception_Table;