From bc568d0b9f216f8d3c26b888131f4a9a7e9d368d Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Fri, 29 Jun 2018 20:23:29 +0200 Subject: osmo_panic(): Annotate as __attribute__ ((noreturn)) In Change-Id I5a70eb65952cbc329bf96eacb428b07a9da32433 we redirected all OSMO_ASSERT() via osmo_panic(). However, this caused various applications to have build failures, as OSMO_ASSERT() now appeared to be able to return to the call site. Let's inform the compiler explicitly that there's no return from osmo_panic(). Change-Id: I8adf4c7b0ee6a4581cef8dd4e9f6a1dfde70ee55 --- src/panic.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src/panic.c') diff --git a/src/panic.c b/src/panic.c index a08f89fa..072f458b 100644 --- a/src/panic.c +++ b/src/panic.c @@ -27,6 +27,7 @@ * @{ * \file panic.c */ +#include #include #include @@ -83,8 +84,14 @@ void osmo_panic(const char *fmt, ...) osmo_panic_default(fmt, args); va_end(args); + + /* not reached, but make compiler believe we really never return */ +#ifndef PANIC_INFLOOP + exit(2342); +#else + while (1) ; +#endif } - /*! Set the panic handler * \param[in] h New panic handler function -- cgit v1.2.3