
Ian Lynagh wrote:
On Wed, Mar 01, 2006 at 12:24:17PM +0000, Simon Marlow wrote:
There's a ticket open on this one:
http://cvs.haskell.org/trac/ghc/ticket/470
The ticket does give more info (isSpace isn't working correctly). If you could track this down further, that would be great.
Looks like a (fixed) gcc bug:
igloo@vore:/scratch/igloo/space$ rm *.o *.hi foo; ghc -Wall -O foo.hs -o foo && ./foo [True,False,True,True,False,True] igloo@vore:/scratch/igloo/space$ rm *.o *.hi foo; ghc -Wall -O foo.hs -o foo -pgmc /usr/bin/gcc-4.0 && ./foo [True,True,True,True,True,True] igloo@vore:/scratch/igloo/space$ gcc --version gcc (GCC) 3.3.6 (Debian 1:3.3.6-12) Copyright (C) 2003 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
igloo@vore:/scratch/igloo/space$ /usr/bin/gcc-4.0 --version gcc-4.0 (GCC) 4.0.3 20060212 (prerelease) (Debian 4.0.2-9) Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
It could be a gcc bug, or it could be that GHC is relying on undefined C semantics. If you feel inclined, I'd be really interested to know which code fragment is responsible (you'd need to replace fragments of the .s file in a binary search to find the right spot). If you can't be bothered, that's fine too :-) I'll close the bug. Cheers, Simon