further use of _Noreturn, for non-plain-C functions
[oweals/musl.git] / include / assert.h
index bad2ccd04cf3bbc9abe39c2f26ef9b8680d60a9e..30a43d68fae741b6a8b05cd4451da70f984e4fba 100644 (file)
@@ -1,5 +1,12 @@
 #undef assert
 
+#if __STDC_VERSION__ >= 201112L
+#elif defined(__GNUC__)
+#define _Noreturn __attribute__((__noreturn__))
+#else
+#define _Noreturn
+#endif
+
 #ifdef NDEBUG
 #define        assert(x) (void)0
 #else
@@ -10,7 +17,7 @@
 extern "C" {
 #endif
 
-void __assert_fail (const char *, const char *, int, const char *);
+_Noreturn void __assert_fail (const char *, const char *, int, const char *);
 
 #ifdef __cplusplus
 }