mirror of git://git.musl-libc.org/musl
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.
This commit is contained in:
parent
18dde00713
commit
70729de075
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
#ifndef _STDNORETURN_H
|
||||
#define _STDNORETURN_H
|
||||
#ifndef __cplusplus
|
||||
#include <features.h>
|
||||
#define noreturn _Noreturn
|
||||
#endif
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue