summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ada/ChangeLog7
-rw-r--r--gcc/ada/a-exexpr.adb7
-rw-r--r--gcc/ada/raise.c2
3 files changed, 13 insertions, 3 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 80e49c378ed..1892b94dcf3 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,10 @@
+2004-04-28 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * a-exexpr.adb (Unwind_Word): New data type.
+ (Unwind_Exception): Use it as type of Private1 and Private2.
+
+ * raise.c (db_action_for): Fix debug printf.
+
2004-04-27 Ed Schonberg <schonberg@gnat.com>
* a-wtmoio.ads: Formal type must be a modular type, not a signed
diff --git a/gcc/ada/a-exexpr.adb b/gcc/ada/a-exexpr.adb
index faa89a3744c..ba554f9bc2d 100644
--- a/gcc/ada/a-exexpr.adb
+++ b/gcc/ada/a-exexpr.adb
@@ -102,11 +102,14 @@ package body Exception_Propagation is
GNAT_Exception_Class : constant Exception_Class := 16#474e552d41646100#;
-- "GNU-Ada\0"
+ type Unwind_Word is mod 2 ** System.Word_Size;
+ for Unwind_Word'Size use System.Word_Size;
+
type Unwind_Exception is record
Class : Exception_Class := GNAT_Exception_Class;
Cleanup : System.Address := System.Null_Address;
- Private1 : Integer;
- Private2 : Integer;
+ Private1 : Unwind_Word;
+ Private2 : Unwind_Word;
end record;
pragma Convention (C, Unwind_Exception);
diff --git a/gcc/ada/raise.c b/gcc/ada/raise.c
index 9a965ef1515..b0803ae8426 100644
--- a/gcc/ada/raise.c
+++ b/gcc/ada/raise.c
@@ -671,7 +671,7 @@ db_action_for (action_descriptor *action, _Unwind_Context *uw_context)
{
case unknown:
db (DB_ACTIONS, "lpad @ 0x%x, record @ 0x%x\n",
- ip, action->landing_pad, action->table_entry);
+ action->landing_pad, action->table_entry);
break;
case nothing: