|
Message-ID: <20140430214250.GI12324@port70.net> Date: Wed, 30 Apr 2014 23:42:51 +0200 From: Szabolcs Nagy <nsz@...t70.net> To: musl@...ts.openwall.com Cc: Pawel Dziepak <pdziepak@...rnos.org> Subject: Re: [PATCH] add definition of max_align_t to stddef.h * Pawel Dziepak <pdziepak@...rnos.org> [2014-04-30 22:23:01 +0200]: > > +TYPEDEF union { long double ld; long long ll; } max_align_t; this is wrong - ld and ll identifiers are not reserved for the implementation (you could name them _ld, _ll or __ld, __ll etc) and see previous max_align_t discussion http://www.openwall.com/lists/musl/2014/04/28/8 - compiler implementations are non-conforming on some platforms (_Alignof returns inconsistent results for the same object type so reasoning about alignments is problematic, there are exceptions where this is allowed in c++11 but not in c11) - max_align_t is part of the abi and your solution is incompatible with gcc and clang (your definition gives 4 byte _Alignof(max_align_t) on i386 instead of 8) there is probably not much choice and musl will have to copy the silly definition used in gcc/clang making max_align_t not very useful (it does not reflect malloc alignment supported by the libc nor the object alignments supported by the compiler)
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.