-#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