-O2 bug in gcc 3.2, 3.3 and 3.4 with 64 bit integers on x86

Andreas Schwab schwab@suse.de
Tue Nov 9 16:02:00 GMT 2004


Anders Torger <torger@ludd.luth.se> writes:

> unsigned long
> hash(void *key)
> {
>     unsigned long long ull;
>     ull = *(unsigned long long *)key;
>     return ((unsigned long *)&ull)[0] ^ ((unsigned long *)&ull)[1];

Try -Wstrict-aliasing.

Andreas.

-- 
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux AG, Maxfeldstraße 5, 90409 Nürnberg, Germany
Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."



More information about the Gcc-bugs mailing list