From: Szabolcs Nagy Date: Tue, 26 Aug 2014 15:42:15 +0000 (+0200) Subject: add static_assert and hide noreturn, alignas, alignof from C++ X-Git-Tag: v1.1.5~45 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=70729de075bfe3138b05af91ecefcd5786bed5ac;p=oweals%2Fmusl.git add static_assert and hide noreturn, alignas, alignof from C++ add static_assert and protect the other new C11 keyword macros with #ifndef __cplusplus so they don't conflict with C++ keywords. --- diff --git a/include/assert.h b/include/assert.h index ab745db1..1ee02a4a 100644 --- a/include/assert.h +++ b/include/assert.h @@ -8,6 +8,10 @@ #define assert(x) ((void)((x) || (__assert_fail(#x, __FILE__, __LINE__, __func__),0))) #endif +#ifndef __cplusplus +#define static_assert _Static_assert +#endif + #ifdef __cplusplus extern "C" { #endif diff --git a/include/stdalign.h b/include/stdalign.h index b6e50aeb..2cc94be3 100644 --- a/include/stdalign.h +++ b/include/stdalign.h @@ -1,6 +1,8 @@ #ifndef _STDALIGN_H #define _STDALIGN_H +#ifndef __cplusplus + /* this whole header only works in C11 or with compiler extensions */ #if __STDC_VERSION__ < 201112L && defined( __GNUC__) #define _Alignas(t) __attribute__((__aligned__(t))) @@ -9,6 +11,9 @@ #define alignas _Alignas #define alignof _Alignof + +#endif + #define __alignas_is_defined 1 #define __alignof_is_defined 1 diff --git a/include/stdnoreturn.h b/include/stdnoreturn.h index 60d924a0..5c6aeeb0 100644 --- a/include/stdnoreturn.h +++ b/include/stdnoreturn.h @@ -1,5 +1,7 @@ #ifndef _STDNORETURN_H #define _STDNORETURN_H +#ifndef __cplusplus #include #define noreturn _Noreturn #endif +#endif