fix dup3 ignoring all flags but O_CLOEXEC on archs with SYS_dup2 syscall
[musl] / include / assert.h
index bad2ccd..d14ec94 100644 (file)
@@ -1,16 +1,22 @@
+#include <features.h>
+
 #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
+
+#if __STDC_VERSION__ >= 201112L && !defined(__cplusplus)
+#define static_assert _Static_assert
 #endif
 
 #ifdef __cplusplus
 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
 }