fix some obscure header type size/alignment issues
[musl] / include / assert.h
index 30a43d6..ab745db 100644 (file)
@@ -1,23 +1,18 @@
-#undef assert
+#include <features.h>
 
-#if __STDC_VERSION__ >= 201112L
-#elif defined(__GNUC__)
-#define _Noreturn __attribute__((__noreturn__))
-#else
-#define _Noreturn
-#endif
+#undef assert
 
 #ifdef NDEBUG
 #define        assert(x) (void)0
 #else
-#define assert(x) ((x) || (__assert_fail(#x, __FILE__, __LINE__, __func__),0))
+#define assert(x) ((void)((x) || (__assert_fail(#x, __FILE__, __LINE__, __func__),0)))
 #endif
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-_Noreturn void __assert_fail (const char *, const char *, int, const char *);
+void __assert_fail (const char *, const char *, int, const char *);
 
 #ifdef __cplusplus
 }