This is the mail archive of the cygwin-patches mailing list for the Cygwin 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 Mar 15 11:55, VÃclav Haisman wrote: > On 15 March 2016 at 04:13, Yaakov Selkowitz <yselkowi@redhat.com> wrote: > > The bswap_* "functions" are macros in glibc, so they may be tested for > > by the preprocessor (e.g. #ifdef bswap_16). > > > > Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com> > > --- > > winsup/cygwin/include/byteswap.h | 14 +++++++++----- > > 1 file changed, 9 insertions(+), 5 deletions(-) > > > > diff --git a/winsup/cygwin/include/byteswap.h b/winsup/cygwin/include/byteswap.h > > index cd5a726..9f73c5a 100644 > > --- a/winsup/cygwin/include/byteswap.h > > +++ b/winsup/cygwin/include/byteswap.h > > @@ -16,23 +16,27 @@ extern "C" { > > #endif > > > > static __inline unsigned short > > -bswap_16 (unsigned short __x) > > +__bswap_16 (unsigned short __x) > > { > > return (__x >> 8) | (__x << 8); > > } > > > > static __inline unsigned int > > -bswap_32 (unsigned int __x) > > +__bswap_32 (unsigned int __x) > > { > > - return (bswap_16 (__x & 0xffff) << 16) | (bswap_16 (__x >> 16)); > > + return (__bswap_16 (__x & 0xffff) << 16) | (__bswap_16 (__x >> 16)); > > } > > > > static __inline unsigned long long > > -bswap_64 (unsigned long long __x) > > +__bswap_64 (unsigned long long __x) > > { > > - return (((unsigned long long) bswap_32 (__x & 0xffffffffull)) << 32) | (bswap_32 (__x >> 32)); > > + return (((unsigned long long) __bswap_32 (__x & 0xffffffffull)) << 32) | (__bswap_32 (__x >> 32)); > > } > > > > +#define bswap_16(x) __bswap_16(x) > > +#define bswap_32(x) __bswap_32(x) > > +#define bswap_64(x) __bswap_64(x) > > + > > #ifdef __cplusplus > > } > > #endif > > -- > > 2.7.0 > > > > Would it not be better to leave the original functions as they were > and simply use these defines? > > #define bswap_16 bswap_16 > #define bswap_32 bswap_32 > #define bswap_64 bswap_64 > > I believe this is valid C and C++. Untested. Yes, that would work. Glibc defines the inlined functions with leading underscores as well, though. Maybe we should do the same because some strange application wants to use the underscored versions? Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Maintainer cygwin AT cygwin DOT com Red Hat
Attachment:
signature.asc
Description: PGP signature
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |