> The whole thing boils down to:
>
> \begin{code}
> module Main (main) where
> main :: IO ()
> main = if 1*2 == 0 then putStrLn "GHC(GCC 2.95) can't multiply, eh?"
> else putStrLn "not reached"
> \end{code}
>
> Strange, isn't it?
I've tracked this down as far as PrelNum.hs in GHC's library. That is,
gcc-2.95 is either miscompiling this module, or we're making some bogus
assumption in the C code. I haven't narrowed down the exact instruction
sequence which is wrong yet.
More info as I find it. In the meantime, avoid gcc 2.95 if you want
anything to work.
Cheers,
Simon