From 29b095a1561f866b995b23621d1e2ee78e473dc4 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Fri, 9 May 2003 03:00:52 +0000 Subject: (unwind_cleanup): Print error message and then abort. This function must never be reached. --- nptl/unwind.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'nptl/unwind.c') diff --git a/nptl/unwind.c b/nptl/unwind.c index 7529174d5a..f6537ba69b 100644 --- a/nptl/unwind.c +++ b/nptl/unwind.c @@ -50,7 +50,13 @@ unwind_stop (int version, _Unwind_Action actions, static void unwind_cleanup (_Unwind_Reason_Code reason, struct _Unwind_Exception *exc) { - /* Nothing to do. */ + /* When we get here a C++ catch block didn't rethrow the object. We + cannot handle this case and therefore abort. */ +# define STR_N_LEN(str) str, strlen (str) + INTERNAL_SYSCALL_DECL (err); + INTERNAL_SYSCALL (write, err, 3, STDERR_FILENO, + STR_N_LEN ("FATAL: exception not rethrown\n")); + abort (); } #endif /* have forced unwind */ -- cgit 1.4.1