Browse Source

do not define static_assert macro for pre-C11 compilers

some software simply uses static_assert if the macro is defined, and
this breaks if the compiler does not recognize the _Static_assert
keyword used to define it.
Rich Felker 9 years ago
parent
commit
0ed932f34f
1 changed files with 1 additions and 1 deletions
  1. 1 1
      include/assert.h

+ 1 - 1
include/assert.h

@@ -8,7 +8,7 @@
 #define assert(x) ((void)((x) || (__assert_fail(#x, __FILE__, __LINE__, __func__),0)))
 #endif
 
-#ifndef __cplusplus
+#if __STDC_VERSION__ >= 201112L && !defined(__cplusplus)
 #define static_assert _Static_assert
 #endif