From: Bruno Haible Date: Tue, 1 Nov 2011 11:43:23 +0000 (+0100) Subject: alignof: Avoid collision with stdalign module. X-Git-Tag: v0.1~1513 X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=408e170e3ae81f73fb65686c5834693d89a96594;p=gnulib.git alignof: Avoid collision with stdalign module. * lib/alignof.h (alignof): Remove macro. * NEWS: Mention the change. Reported by Paul Eggert. --- diff --git a/ChangeLog b/ChangeLog index 097de6c87b..763f9beb8e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2011-11-01 Bruno Haible + + alignof: Avoid collision with stdalign module. + * lib/alignof.h (alignof): Remove macro. + * NEWS: Mention the change. + Reported by Paul Eggert. + 2011-11-01 Bruno Haible New module 'fchownat', split off from module 'openat'. diff --git a/NEWS b/NEWS index 6dee4ae13e..477c61cf90 100644 --- a/NEWS +++ b/NEWS @@ -12,6 +12,9 @@ User visible incompatible changes Date Modules Changes +2011-11-01 alignof This module no longer provides the alignof() macro. + Use either alignof_slot() or alignof_type() instead. + 2011-11-01 openat This module no longer provides the fchownat() function. If you need this function, you now need to request the 'fchownat' module. diff --git a/lib/alignof.h b/lib/alignof.h index 9b8e00dbcd..bff3930923 100644 --- a/lib/alignof.h +++ b/lib/alignof.h @@ -20,8 +20,11 @@ #include -/* Determine the alignment of a structure slot (field) of a given type, +/* alignof_slot (TYPE) + Determine the alignment of a structure slot (field) of a given type, at compile time. Note that the result depends on the ABI. + This is the same as alignof (TYPE) and _Alignof (TYPE), defined in + if __alignof_is_defined is 1. Note: The result cannot be used as a value for an 'enum' constant, due to bugs in HP-UX 10.20 cc and AIX 3.2.5 xlc. */ #if defined __cplusplus @@ -31,7 +34,8 @@ # define alignof_slot(type) offsetof (struct { char __slot1; type __slot2; }, __slot2) #endif -/* Determine the good alignment of an object of the given type at compile time. +/* alignof_type (TYPE) + Determine the good alignment of an object of the given type at compile time. Note that this is not necessarily the same as alignof_slot(type). For example, with GNU C on x86 platforms: alignof_type(double) = 8, but - when -malign-double is not specified: alignof_slot(double) = 4, @@ -44,10 +48,4 @@ # define alignof_type alignof_slot #endif -/* alignof is an alias for alignof_slot semantics, since that's what most - callers need. - Note: The result cannot be used as a value for an 'enum' constant, - due to bugs in HP-UX 10.20 cc and AIX 3.2.5 xlc. */ -#define alignof alignof_slot - #endif /* _ALIGNOF_H */