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 Tuesday 04 June 2013 06:49:00 Rasmus Villemoes wrote: > Mike Frysinger writes: > > On Monday 03 June 2013 15:12:05 Roland McGrath wrote: > >> I think we should be using inlines rather than macros any time we don't > >> have a strong reason to use macros. > > > > generally we don't do caps inlines though ? and using inlines means we > > now have to deal with types. the current one works with any size and > > does the right thing. if i wrote an inline, i'd have to pick a type > > (size_t? int? long? uint64_t? uintmax_t?) and then there'd be ugliness > > with signed vs unsigned, implicit casts, implicit truncation, overhead > > with casting up to larger than natural types (like 64bit on a 32bit > > system), etc... > > I'm afraid one would have to deal with types anyway, as recently seen > in the kernel http://lwn.net/Articles/548336/. this is easily solved in the macro form: #define ALIGN_DOWN(base, size) ((base) & ~((__typeof__(base))(size) - 1)) which isn't easily achievable with inline funcs -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] |