diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2012-07-17 11:49:48 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2012-07-17 11:49:48 +0200 |
commit | f080def5134dc47dcb997778a35858f208c2c393 (patch) | |
tree | ca28973deac660af91e6de4aba33237e1ac95b34 /gcc/ada/seh_init.c | |
parent | 2767f2cc5cc916f4a99cbfd510cf5a5454c54221 (diff) | |
download | gcc-f080def5134dc47dcb997778a35858f208c2c393.zip gcc-f080def5134dc47dcb997778a35858f208c2c393.tar.gz gcc-f080def5134dc47dcb997778a35858f208c2c393.tar.bz2 |
[multiple changes]
2012-07-17 Robert Dewar <dewar@adacore.com>
* exp_ch9.adb: Minor code reorganization.
* exp_ch3.adb: Minor code improvement.
2012-07-17 Tristan Gingold <gingold@adacore.com>
* seh_init.c (__gnat_SEH_error_handler): Not compiled anymore
on Windows 64 (+ SEH), as it is unused.
2012-07-17 Tristan Gingold <gingold@adacore.com>
* treepr.ads (psloc): Declare.
* treepr.adb (psloc): New debug procedure to print a sloc.
(Print_Sloc): New procedure, from ...
(Print_Node_Subtree): ... this. Call Print_Sloc.
2012-07-17 Javier Miranda <miranda@adacore.com>
* sem_prag.adb (CPP_Class): Transform obsolescent pragma CPP_Class into
CPP convention automatically.
From-SVN: r189566
Diffstat (limited to 'gcc/ada/seh_init.c')
-rw-r--r-- | gcc/ada/seh_init.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/gcc/ada/seh_init.c b/gcc/ada/seh_init.c index 2f7fee4..772dab0 100644 --- a/gcc/ada/seh_init.c +++ b/gcc/ada/seh_init.c @@ -169,9 +169,11 @@ __gnat_map_SEH (EXCEPTION_RECORD* ExceptionRecord, const char **msg) } } +#if !(defined (_WIN64) && defined (__SEH__)) + EXCEPTION_DISPOSITION __gnat_SEH_error_handler (struct _EXCEPTION_RECORD* ExceptionRecord, - void *EstablisherFrame, + void *EstablisherFrame ATTRIBUTE_UNUSED, struct _CONTEXT* ContextRecord ATTRIBUTE_UNUSED, void *DispatcherContext ATTRIBUTE_UNUSED) { @@ -182,14 +184,8 @@ __gnat_SEH_error_handler (struct _EXCEPTION_RECORD* ExceptionRecord, if (exception == NULL) { -#if defined (_WIN64) && defined (__SEH__) - /* On Windows x64, do not transform other exception as they could - be caught by user (when SEH is used to propagate exceptions). */ - return; -#else exception = &program_error; msg = "unhandled signal"; -#endif } #if ! defined (_WIN64) @@ -204,6 +200,7 @@ __gnat_SEH_error_handler (struct _EXCEPTION_RECORD* ExceptionRecord, Raise_From_Signal_Handler (exception, msg); return 0; /* This is never reached, avoid compiler warning */ } +#endif /* !(defined (_WIN64) && defined (__SEH__)) */ #if defined (_WIN64) /* On x86_64 windows exception mechanism is no more based on a chained list |