Date: Sat, 13 Sep 2014 03:11:32 +0000 From: bugzilla-noreply@freebsd.org To: freebsd-standards@FreeBSD.org Subject: [Bug 193594] New: stddef.h should define max_align_t Message-ID: <bug-193594-15@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=193594 Bug ID: 193594 Summary: stddef.h should define max_align_t Product: Base System Version: 11.0-CURRENT Hardware: Any OS: Any Status: Needs Triage Severity: Affects Some People Priority: --- Component: standards Assignee: freebsd-standards@FreeBSD.org Reporter: lichray@gmail.com C11 max_align_t does not work with both base system clang and ports clang (clang has those defined under lib/Headers but we don't install them, while we do install GCC's fixed headers for GCC in ports, e.g. /usr/local/lib/gcc49/gcc/x86_64-portbld-freebsd8.4/4.9.2/include/stddef.h). FreeBSD already defines C11 additions in /usr/include/stdlib.h, and we should do the same for max_align_t. I copy-pasted clang's implementation to /usr/include/stddef.h and everything works fine: #if __STDC_VERSION__ >= 201112L || __cplusplus >= 201103L typedef struct { long long __clang_max_align_nonce1 __attribute__((__aligned__(__alignof__(long long)))); long double __clang_max_align_nonce2 __attribute__((__aligned__(__alignof__(long double)))); } max_align_t; #endif GCC's implementation queries for defined(__STDC_VERSION__) and defined(__cplusplus); the struct is the same. -- You are receiving this mail because: You are the assignee for the bug.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-193594-15>