mirror of git://git.musl-libc.org/musl
adjust i386 max_align_t definition to work around some broken compilers
at least gcc 4.7 claims c++11 support but does not accept the alignas keyword, causing breakage when stddef.h is included in c++11 mode. instead, prefer using __attribute__((__aligned__)) on any compiler with GNU extensions, and only use the alignas keyword as a fallback for other C++ compilers. C code should not be affected by this patch.
This commit is contained in:
parent
c673158d91
commit
71991a803c
|
@ -26,10 +26,12 @@ TYPEDEF long double float_t;
|
|||
TYPEDEF long double double_t;
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
TYPEDEF struct { alignas(8) long long __ll; long double __ld; } max_align_t;
|
||||
#else
|
||||
#if !defined(__cplusplus)
|
||||
TYPEDEF struct { _Alignas(8) long long __ll; long double __ld; } max_align_t;
|
||||
#elif defined(__GNUC__)
|
||||
TYPEDEF struct { __attribute__((__aligned__(8))) long long __ll; long double __ld; } max_align_t;
|
||||
#else
|
||||
TYPEDEF struct { alignas(8) long long __ll; long double __ld; } max_align_t;
|
||||
#endif
|
||||
|
||||
TYPEDEF long time_t;
|
||||
|
|
Loading…
Reference in New Issue