From d7f9727a15ecf7c7a4d5c26f4cb26ed40a5688a9 Mon Sep 17 00:00:00 2001 From: charlet Date: Thu, 10 Feb 2005 13:54:45 +0000 Subject: * init.c (__gnat_initialize): Add a new parameter eh which contains the address of the exception registration. The Win32 version of this routine calls __gnat_install_SEH_handler() to initialize the SEH (Structured Exception Handling) handler. (__gnat_error_handler) [Win32]: Removed. Not needed as we use SEH (Structured Exception Handling) now. (__gnat_install_handler) [Win32]: Nothing to do now as we use SEH. (__gnat_initialize for ppc-vxworks): Adjust comments and the preprocessor condition protecting the call to the extra eh setup subprogram, which is only available for the ppc target. (__gnat_clear_exception_count): replaced reference to variable taskIdCurrent by call to taskIdSelf(), cleaner. * seh_init.c: New file. * Make-lang.in: (GNAT_ADA_OBJS): Add seh_init.o. (GNATBIND_OBJS): Idem. * misc.c (gnat_parse_file): Update call to __gnat_initialize. This routine takes a new parameter (a pointer to the exception registration for the SEH (Structured Exception Handling) support. * raise.h: (__gnat_install_SEH_handler): New prototype. Update copyright notice. * s-tassta.adb (Task_Wrapper): Declare the exception registration record and initialize it by calling __gnat_install_SEH_handler. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@94816 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ada/raise.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'gcc/ada/raise.h') diff --git a/gcc/ada/raise.h b/gcc/ada/raise.h index 4a6ffbe2dbf..8ef77d7f5c6 100644 --- a/gcc/ada/raise.h +++ b/gcc/ada/raise.h @@ -6,7 +6,7 @@ * * * C Header File * * * - * Copyright (C) 1992-2004, Free Software Foundation, Inc. * + * Copyright (C) 1992-2005, Free Software Foundation, Inc. * * * * GNAT is free software; you can redistribute it and/or modify it under * * terms of the GNU General Public License as published by the Free Soft- * @@ -66,8 +66,9 @@ extern void __gnat_set_globals (int, int, char, char, char, char, char *, char *, int, int, int, int, int); -extern void __gnat_initialize (void); +extern void __gnat_initialize (void *); extern void __gnat_init_float (void); extern void __gnat_install_handler (void); +extern void __gnat_install_SEH_handler (void *); extern int gnat_exit_status; -- cgit v1.2.1