diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2012-06-14 12:46:14 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2012-06-14 12:46:14 +0200 |
commit | 758ad97333838b7e5e839100a927b6cadbd030d3 (patch) | |
tree | 8022f62e88e8a45e5256b4ea139d3f253429a975 /gcc/ada/raise-gcc.c | |
parent | 34f3a7014b95e058d68adc1bee2e357e38056dec (diff) | |
download | gcc-758ad97333838b7e5e839100a927b6cadbd030d3.zip gcc-758ad97333838b7e5e839100a927b6cadbd030d3.tar.gz gcc-758ad97333838b7e5e839100a927b6cadbd030d3.tar.bz2 |
[multiple changes]
2012-06-14 Gary Dismukes <dismukes@adacore.com>
* exp_ch9.adb: Minor reformatting.
2012-06-14 Thomas Quinot <quinot@adacore.com>
* 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 <gingold@adacore.com>
* raise-gcc.c (__gnat_personality_seh0): New function.
2012-06-14 Tristan Gingold <gingold@adacore.com>
* gnatname.adb (Gnatname): Make sure that dynamic table
argument_data is initialized.
2012-06-14 Robert Dewar <dewar@adacore.com>
* sem_aux.adb: Minor code reorganization.
From-SVN: r188608
Diffstat (limited to 'gcc/ada/raise-gcc.c')
-rw-r--r-- | gcc/ada/raise-gcc.c | 15 |
1 files changed, 15 insertions, 0 deletions
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 */ |