Hi all,

On sparc, GHC is failing when building hmake as below:

-----
/usr/bin/haskell-compiler    -package lang -c -o 
/build/buildd/hmake-3.08/targets/sparc-Linux/obj/hmake/QSort.o QSort.hs
/usr/bin/haskell-compiler    -package lang -c -o 
/build/buildd/hmake-3.08/targets/sparc-Linux/obj/hmake/Unlit.o Unlit.hs
ghc-6.2.1: panic! (the `impossible' happened, GHC version 6.2.1):
    charToUtf8 1883885648

Please report it as a compiler bug to [EMAIL PROTECTED],
or http://sourceforge.net/projects/ghc/.
-----

"ghc    -package lang -c Unlit.hs -v9 2> /dev/null" ends like this in
the Desugar section:

lit_aWG :: GHC.Base.Int
lit_aWG = lit_aVV
classify :: GHC.Base.Int -> [GHC.Base.String] -> [Unlit.Classified]
classify = \ ds_dYb :: GHC.Base.Int ds_dY9 :: [GHC.Base.String] ->
             let {
               fail_dYk :: [Unlit.Classified]
               fail_dYk = GHC.Err.patError

(no final newline) whereas on x86 it continues:

lit_aWG :: GHC.Base.Int
lit_aWG = lit_aVV
classify :: GHC.Base.Int -> [GHC.Base.String] -> [Unlit.Classified]
classify = \ ds_dYb :: GHC.Base.Int ds_dY9 :: [GHC.Base.String] ->
        let {
          fail_dYk :: [Unlit.Classified]
          fail_dYk = GHC.Err.patError
               @ [Unlit.Classified] "Unlit.hs:22|function classify" } in
        let {
          fail_d102 :: [Unlit.Classified]
          fail_d102 = let {
                fail_dYs :: [Unlit.Classified]
                fail_dYs = case ds_dY9 of wild_B1 {

I would guess this is a problem where an 8-bit character is converted to
a unicode character without the high bits being zeroed somewhere?

I've put a copy of Unlit.hs at http://urchin.earth.li/~ian/Unlit.hs
and the sparc output at http://urchin.earth.li/~ian/Unlit.sparc_out


Thanks
Ian

_______________________________________________
Glasgow-haskell-bugs mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to