[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r34715 - libmicrohttpd/src/microhttpd
From: |
gnunet |
Subject: |
[GNUnet-SVN] r34715 - libmicrohttpd/src/microhttpd |
Date: |
Sat, 20 Dec 2014 01:18:06 +0100 |
Author: grothoff
Date: 2014-12-20 01:18:06 +0100 (Sat, 20 Dec 2014)
New Revision: 34715
Modified:
libmicrohttpd/src/microhttpd/internal.h
Log:
use __buildin_unreachable() after MHD_PANIC() -- if supported by gcc
Modified: libmicrohttpd/src/microhttpd/internal.h
===================================================================
--- libmicrohttpd/src/microhttpd/internal.h 2014-12-19 23:42:32 UTC (rev
34714)
+++ libmicrohttpd/src/microhttpd/internal.h 2014-12-20 00:18:06 UTC (rev
34715)
@@ -75,20 +75,28 @@
*/
extern void *mhd_panic_cls;
+/* If we have Clang or gcc >= 4.5, use __buildin_unreachable() */
+#if defined(__clang__) || (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__
>= 5)
+#define BUILTIN_NOT_REACHED __builtin_unreachable()
+#else
+#define BUILTIN_NOT_REACHED
+#endif
+
+
#if HAVE_MESSAGES
/**
* Trigger 'panic' action based on fatal errors.
*
* @param msg error message (const char *)
*/
-#define MHD_PANIC(msg) mhd_panic (mhd_panic_cls, __FILE__, __LINE__, msg)
+#define MHD_PANIC(msg) do { mhd_panic (mhd_panic_cls, __FILE__, __LINE__,
msg); BUILTIN_NOT_REACHED; } while (0)
#else
/**
* Trigger 'panic' action based on fatal errors.
*
* @param msg error message (const char *)
*/
-#define MHD_PANIC(msg) mhd_panic (mhd_panic_cls, __FILE__, __LINE__, NULL)
+#define MHD_PANIC(msg) do { mhd_panic (mhd_panic_cls, __FILE__, __LINE__,
NULL); BUILTIN_NOT_REACHED; } while (0)
#endif
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r34715 - libmicrohttpd/src/microhttpd,
gnunet <=