From 0a7fa29f941a8282a04fae1395b90b0d088b95a0 Mon Sep 17 00:00:00 2001 From: Cesar Strauss Date: Fri, 8 Mar 2013 08:04:00 +0000 Subject: [PATCH] re PR ada/52123 (gcc bootstrap with ada fails on mingw target) PR ada/52123 * seh_init.c (Raise_From_Signal_Handler): Declare as no-return. (__gnat_SEH_error_handler): Likewise. Remove final return. From-SVN: r196536 --- gcc/ada/ChangeLog | 6 ++++++ gcc/ada/seh_init.c | 8 ++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index b3228b0367c..784448558ad 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,9 @@ +2013-03-08 Cesar Strauss + + PR ada/52123 + * seh_init.c (Raise_From_Signal_Handler): Declare as no-return. + (__gnat_SEH_error_handler): Likewise. Remove final return. + 2013-03-06 Eric Botcazou * gcc-interface/trans.c (Attribute_to_gnu): Abort instead of erroring diff --git a/gcc/ada/seh_init.c b/gcc/ada/seh_init.c index 3a2cb516b23..0d04b507578 100644 --- a/gcc/ada/seh_init.c +++ b/gcc/ada/seh_init.c @@ -6,7 +6,7 @@ * * * C Implementation File * * * - * Copyright (C) 2005-2012, Free Software Foundation, Inc. * + * Copyright (C) 2005-2013, 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- * @@ -60,7 +60,8 @@ extern struct Exception_Data _abort_signal; #define Raise_From_Signal_Handler \ ada__exceptions__raise_from_signal_handler -extern void Raise_From_Signal_Handler (struct Exception_Data *, const char *); +extern void Raise_From_Signal_Handler (struct Exception_Data *, const char *) + ATTRIBUTE_NORETURN; #if defined (_WIN32) @@ -72,7 +73,7 @@ extern void Raise_From_Signal_Handler (struct Exception_Data *, const char *); extern void _global_unwind2 (void *); EXCEPTION_DISPOSITION __gnat_SEH_error_handler -(struct _EXCEPTION_RECORD*, void*, struct _CONTEXT*, void*); +(struct _EXCEPTION_RECORD*, void*, struct _CONTEXT*, void*) ATTRIBUTE_NORETURN; struct Exception_Data * __gnat_map_SEH (EXCEPTION_RECORD* ExceptionRecord, const char **msg); @@ -198,7 +199,6 @@ __gnat_SEH_error_handler (struct _EXCEPTION_RECORD* ExceptionRecord, #endif Raise_From_Signal_Handler (exception, msg); - return 0; /* This is never reached, avoid compiler warning */ } #endif /* !(defined (_WIN64) && defined (__SEH__)) */ -- 2.30.2