From 758ad97333838b7e5e839100a927b6cadbd030d3 Mon Sep 17 00:00:00 2001 From: Arnaud Charlet Date: Thu, 14 Jun 2012 12:46:14 +0200 Subject: [multiple changes] 2012-06-14 Gary Dismukes * exp_ch9.adb: Minor reformatting. 2012-06-14 Thomas Quinot * freeze.adb (Freeze_Record_Type): Warn about useless bit order specification [when there's no component clause] regardless of whether the specified bit order is reversed or not. 2012-06-14 Tristan Gingold * raise-gcc.c (__gnat_personality_seh0): New function. 2012-06-14 Tristan Gingold * gnatname.adb (Gnatname): Make sure that dynamic table argument_data is initialized. 2012-06-14 Robert Dewar * sem_aux.adb: Minor code reorganization. From-SVN: r188608 --- gcc/ada/raise-gcc.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'gcc/ada/raise-gcc.c') diff --git a/gcc/ada/raise-gcc.c b/gcc/ada/raise-gcc.c index b29d3b5..1cfb622 100644 --- a/gcc/ada/raise-gcc.c +++ b/gcc/ada/raise-gcc.c @@ -1026,6 +1026,8 @@ extern void __gnat_notify_unhandled_exception (void); #ifdef __USING_SJLJ_EXCEPTIONS__ #define PERSONALITY_FUNCTION __gnat_personality_sj0 +#elif defined(__SEH__) +#define PERSONALITY_FUNCTION __gnat_personality_imp #else #define PERSONALITY_FUNCTION __gnat_personality_v0 #endif @@ -1061,6 +1063,9 @@ typedef int version_arg_t; typedef _Unwind_Action phases_arg_t; #endif +#ifdef __SEH__ +static +#endif _Unwind_Reason_Code PERSONALITY_FUNCTION (version_arg_t, phases_arg_t, _Unwind_Exception_Class, _Unwind_Exception *, @@ -1208,6 +1213,16 @@ __gnat_Unwind_ForcedUnwind (_Unwind_Exception *e, #endif /* __USING_SJLJ_EXCEPTIONS__ */ +#ifdef __SEH__ +EXCEPTION_DISPOSITION +__gnat_personality_seh0 (PEXCEPTION_RECORD ms_exc, void *this_frame, + PCONTEXT ms_orig_context, + PDISPATCHER_CONTEXT ms_disp) +{ + return _GCC_specific_handler (ms_exc, this_frame, ms_orig_context, + ms_disp, __gnat_personality_imp); +} +#endif /* SEH */ #else /* ! IN_RTS */ -- cgit v1.1