<assert.h>: Define a static_assert macro for C11.
authorSascha Wildner <saw@online.de>
Mon, 21 Apr 2014 12:27:35 +0000 (14:27 +0200)
committerSascha Wildner <saw@online.de>
Wed, 30 Apr 2014 09:38:28 +0000 (11:38 +0200)
Per clause 7.2 from the final draft:

"The header <assert.h> defines the assert and static_assert macros [...]
 The macro static_assert expands to _Static_assert."

include/assert.h

index dbc2ecb..2b91f2e 100644 (file)
@@ -37,7 +37,6 @@
  *
  *     @(#)assert.h    8.2 (Berkeley) 1/21/94
  * $FreeBSD: src/include/assert.h,v 1.6 2007/12/01 19:28:13 phk Exp $
- * $DragonFly: src/include/assert.h,v 1.4 2005/04/26 10:41:57 joerg Exp $
  */
 
 #include <sys/cdefs.h>
 
 #ifndef _ASSERT_H_
 #define _ASSERT_H_
+
+#if __ISO_C_VISIBLE >= 2011 && !defined(__cplusplus)
+#define        static_assert   _Static_assert
+#endif
+
 __BEGIN_DECLS
 void   __assert(const char *, const char *, int, const char *);
 void   __diagassert(const char *, int, const char *, const char *);
 __END_DECLS
+
 #endif /* !_ASSERT_H_ */