This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On Wednesday 19 June 2013 12:32:51 Rasmus Villemoes wrote: > Mike Frysinger <vapier@gentoo.org> writes: > > On Wednesday 05 June 2013 08:15:12 Rasmus Villemoes wrote: > >> Is the extra expansion of size in ALIGN_UP a problem? > > > > if someone passes a value with side effects, then yes. that seems a > > bit unusual for these types of funcs (doing something like aligning > > to val++). i don't see a way past it short of not providing the > > macro. > > I don't know if gcc does the appropriate optimizations in the, > presumably, common case where size is a literal, but something like > > #define ALIGN_UP(base, size) ({ \ > __typeof__((base)+(size)) ____mask = (size)-1; \ > ((base)+____mask) & ~____mask; }) > > should work. But it may very well be too ugly. true, it could be done if we didn't define ALIGN_UP in terms of ALIGN_DOWN. i like Carlos's idea of documenting and waiting for someone to complain :). -mike
Attachment:
signature.asc
Description: This is a digitally signed message part.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |