<p>Harald Welte <strong>merged</strong> this change.</p><p><a href="https://gerrit.osmocom.org/9788">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Jenkins Builder: Verified
  Harald Welte: Looks good to me, approved

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">osmo_panic(): Annotate as __attribute__ ((noreturn))<br><br>In Change-Id I5a70eb65952cbc329bf96eacb428b07a9da32433 we redirected<br>all OSMO_ASSERT() via osmo_panic().  However, this caused various<br>applications to have build failures, as OSMO_ASSERT() now appeared<br>to be able to return to the call site.  Let's inform the compiler<br>explicitly that there's no return from osmo_panic().<br><br>Change-Id: I8adf4c7b0ee6a4581cef8dd4e9f6a1dfde70ee55<br>---<br>M include/osmocom/core/panic.h<br>M src/panic.c<br>2 files changed, 9 insertions(+), 2 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/include/osmocom/core/panic.h b/include/osmocom/core/panic.h</span><br><span>index 2bb4240..c4006dc 100644</span><br><span>--- a/include/osmocom/core/panic.h</span><br><span>+++ b/include/osmocom/core/panic.h</span><br><span>@@ -9,7 +9,7 @@</span><br><span> /*! panic handler callback function type */</span><br><span> typedef void (*osmo_panic_handler_t)(const char *fmt, va_list args);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-extern void osmo_panic(const char *fmt, ...);</span><br><span style="color: hsl(120, 100%, 40%);">+extern void osmo_panic(const char *fmt, ...) __attribute__ ((noreturn));</span><br><span> extern void osmo_set_panic_handler(osmo_panic_handler_t h);</span><br><span> </span><br><span> /*! @} */</span><br><span>diff --git a/src/panic.c b/src/panic.c</span><br><span>index a08f89f..072f458 100644</span><br><span>--- a/src/panic.c</span><br><span>+++ b/src/panic.c</span><br><span>@@ -27,6 +27,7 @@</span><br><span>  *  @{</span><br><span>  * \file panic.c */</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+#include <unistd.h></span><br><span> #include <osmocom/core/panic.h></span><br><span> #include <osmocom/core/backtrace.h></span><br><span> </span><br><span>@@ -83,8 +84,14 @@</span><br><span>             osmo_panic_default(fmt, args);</span><br><span> </span><br><span>   va_end(args);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       /* not reached, but make compiler believe we really never return */</span><br><span style="color: hsl(120, 100%, 40%);">+#ifndef PANIC_INFLOOP</span><br><span style="color: hsl(120, 100%, 40%);">+    exit(2342);</span><br><span style="color: hsl(120, 100%, 40%);">+#else</span><br><span style="color: hsl(120, 100%, 40%);">+    while (1) ;</span><br><span style="color: hsl(120, 100%, 40%);">+#endif</span><br><span> }</span><br><span style="color: hsl(0, 100%, 40%);">- </span><br><span> </span><br><span> /*! Set the panic handler</span><br><span>  *  \param[in] h New panic handler function</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/9788">change 9788</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/9788"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: libosmocore </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: merged </div>
<div style="display:none"> Gerrit-Change-Id: I8adf4c7b0ee6a4581cef8dd4e9f6a1dfde70ee55 </div>
<div style="display:none"> Gerrit-Change-Number: 9788 </div>
<div style="display:none"> Gerrit-PatchSet: 2 </div>
<div style="display:none"> Gerrit-Owner: Harald Welte <laforge@gnumonks.org> </div>
<div style="display:none"> Gerrit-Reviewer: Harald Welte <laforge@gnumonks.org> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>