summaryrefslogtreecommitdiff
path: root/gcc/ada/s-vmexta.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2013-10-14 13:06:44 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2013-10-14 13:06:44 +0000
commitb0ce7476f2254675e0078a785e49d7edf7db56a9 (patch)
tree67a482fe81e10cfe634ac5d4ee42783847372e6e /gcc/ada/s-vmexta.adb
parent8de3c1935f1a39ac8587c56c6b71b431f62831fb (diff)
downloadgcc-b0ce7476f2254675e0078a785e49d7edf7db56a9.tar.gz
2013-10-14 Tristan Gingold <gingold@adacore.com>
* cstand.adb (Create_Standard): Change Import_Code component of Standard_Exception_Type to Foreign_Data. Its type is now Standard_A_Char (access to character). * exp_prag.adb (Expand_Pragma_Import_Export_Exception): Adjust definition of Code to match the type of Foreign_Data. * s-stalib.ads (Exception_Data): Replace Import_Code by Foreign_Data Change the definition of standard predefined exceptions. (Exception_Code): Remove. * raise.h (Exception_Code): Remove (Exception_Data): Replace Import_Code field by Foreign_Data. * rtsfind.ads (RE_Exception_Code): Remove (RE_Import_Address): Add. * a-exexpr-gcc.adb (Import_Code_For): Replaced by Foreign_Data_For. * exp_ch11.adb (Expand_N_Exception_Declaration): Associate null to Foreign_Data component. * raise-gcc.c (Import_Code_For): Replaced by Foreign_Data_For. (is_handled_by): Add comments. Use replaced function. Change condition so that an Ada occurrence is never handled by Foreign_Exception. * s-exctab.adb (Internal_Exception): Associate Null_Address to Foreign_Data component. * s-vmexta.adb, s-vmexta.ads (Exception_Code): Declare Replace SSL.Exception_Code by Exception_Code. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203538 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/s-vmexta.adb')
-rw-r--r--gcc/ada/s-vmexta.adb30
1 files changed, 14 insertions, 16 deletions
diff --git a/gcc/ada/s-vmexta.adb b/gcc/ada/s-vmexta.adb
index b19e27436ea..fb454cfc9a3 100644
--- a/gcc/ada/s-vmexta.adb
+++ b/gcc/ada/s-vmexta.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- 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- --
@@ -36,8 +36,6 @@ pragma Elaborate_All (System.HTable);
package body System.VMS_Exception_Table is
- use type SSL.Exception_Code;
-
type HTable_Headers is range 1 .. 37;
type Exception_Code_Data;
@@ -47,7 +45,7 @@ package body System.VMS_Exception_Table is
-- Ada exception.
type Exception_Code_Data is record
- Code : SSL.Exception_Code;
+ Code : Exception_Code;
Except : SSL.Exception_Data_Ptr;
HTable_Ptr : Exception_Code_Data_Ptr;
end record;
@@ -59,8 +57,8 @@ package body System.VMS_Exception_Table is
function Get_HT_Link (T : Exception_Code_Data_Ptr)
return Exception_Code_Data_Ptr;
- function Hash (F : SSL.Exception_Code) return HTable_Headers;
- function Get_Key (T : Exception_Code_Data_Ptr) return SSL.Exception_Code;
+ function Hash (F : Exception_Code) return HTable_Headers;
+ function Get_Key (T : Exception_Code_Data_Ptr) return Exception_Code;
package Exception_Code_HTable is new System.HTable.Static_HTable (
Header_Num => HTable_Headers,
@@ -69,7 +67,7 @@ package body System.VMS_Exception_Table is
Null_Ptr => null,
Set_Next => Set_HT_Link,
Next => Get_HT_Link,
- Key => SSL.Exception_Code,
+ Key => Exception_Code,
Get_Key => Get_Key,
Hash => Hash,
Equal => "=");
@@ -79,7 +77,7 @@ package body System.VMS_Exception_Table is
------------------
function Base_Code_In
- (Code : SSL.Exception_Code) return SSL.Exception_Code
+ (Code : Exception_Code) return Exception_Code
is
begin
return Code and not 2#0111#;
@@ -90,7 +88,7 @@ package body System.VMS_Exception_Table is
---------------------
function Coded_Exception
- (X : SSL.Exception_Code) return SSL.Exception_Data_Ptr
+ (X : Exception_Code) return SSL.Exception_Data_Ptr
is
Res : Exception_Code_Data_Ptr;
@@ -121,7 +119,7 @@ package body System.VMS_Exception_Table is
-------------
function Get_Key (T : Exception_Code_Data_Ptr)
- return SSL.Exception_Code
+ return Exception_Code
is
begin
return T.Code;
@@ -132,10 +130,10 @@ package body System.VMS_Exception_Table is
----------
function Hash
- (F : SSL.Exception_Code) return HTable_Headers
+ (F : Exception_Code) return HTable_Headers
is
- Headers_Magnitude : constant SSL.Exception_Code :=
- SSL.Exception_Code (HTable_Headers'Last - HTable_Headers'First + 1);
+ Headers_Magnitude : constant Exception_Code :=
+ Exception_Code (HTable_Headers'Last - HTable_Headers'First + 1);
begin
return HTable_Headers (F mod Headers_Magnitude + 1);
@@ -146,13 +144,13 @@ package body System.VMS_Exception_Table is
----------------------------
procedure Register_VMS_Exception
- (Code : SSL.Exception_Code;
+ (Code : Exception_Code;
E : SSL.Exception_Data_Ptr)
is
-- We bind the exception data with the base code found in the
-- input value, that is with the severity bits masked off.
- Excode : constant SSL.Exception_Code := Base_Code_In (Code);
+ Excode : constant Exception_Code := Base_Code_In (Code);
begin
-- The exception data registered here is mostly filled prior to this
@@ -165,7 +163,7 @@ package body System.VMS_Exception_Table is
-- routine attempts to match the import codes in this case.
E.Lang := 'V';
- E.Import_Code := Excode;
+ E.Foreign_Data := Excode;
if Exception_Code_HTable.Get (Excode) = null then
Exception_Code_HTable.Set (new Exception_Code_Data'(Excode, E, null));