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 + + * 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 * 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: