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]

Re: [PATCH v2] byteswap.h: fix gcc ver test for __builtin_bswap{32,64}


On Sunday 02 December 2012 17:10:40 Carlos O'Donell wrote:
> On Fri, Nov 30, 2012 at 3:23 PM, Mike Frysinger wrote:
> > On Wednesday 28 November 2012 23:10:20 Mike Frysinger wrote:
> >> The __builtin_bswap* functions were introduced in gcc-4.3, not gcc-4.2.
> >> Fix the __GNUC_PREREQ tests to reflect this.
> >> 
> >> Otherwise trying to compile code with gcc-4.2 falls down:
> >> In file included from /usr/include/endian.h:60,
> >>                  from /usr/include/ctype.h:40,
> >> /usr/include/bits/byteswap.h: In function 'unsigned int
> >> __bswap_32(unsigned int)': /usr/include/bits/byteswap.h:46: error:
> >> '__builtin_bswap32' was not declared in this scope
> >> /usr/include/bits/byteswap.h: In function 'long long unsigned int
> >> __bswap_64(long long unsigned int)':
> >> /usr/include/bits/byteswap.h:110: error: '__builtin_bswap64' was not
> >> declared in this scope
> > 
> > btw, i think this should go into 2.17 (and perhaps the 2.16 branch) since
> > this is a regression from 2.15.
> 
> How did you confirm this? Exactly what GCC 4.2 did you use? I'm
> without access to my machines right now, or I'd test this.

compiling gcc-4.2 fails which is why i noticed ;)

compiling gcc-4.1 & gcc-4.3 works

gcc manual agrees with me:
http://gcc.gnu.org/onlinedocs/gcc-4.3.0/gcc/Other-Builtins.html <- bswap at 
bottom of page
http://gcc.gnu.org/onlinedocs/gcc-4.2.0/gcc/Other-Builtins.html <- no bswap
-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]