Neil Mitchell wrote:

Second, when compiling the attached program (which is probably
familiar to you by now ;-) ), I get the thing at the bottom of this
message. -fasm works fine, but -fvia-C seems to have been broken.

I've also seen this, with the most recent MSI built by the buildbots. Ian, any ideas?

-----------------

C:\Neil\supero\test\charcount>ghc --make -O2 -fvia-C -o viac.exe 4.hs
[1 of 1] Compiling Main             ( 4.hs, 4.o )
In file included from C:/ghc/ghc-6.7.20070709/include/Stg.h:150,
                from C:\DOCUME~1\nj\LOCALS~1\Temp\ghc3836_0\ghc3836_0.hc:3:
C:/ghc/ghc-6.7.20070709/include/Regs.h:28:45: gmp.h: No such file or directory
In file included from C:/ghc/ghc-6.7.20070709/include/Stg.h:150,
                from C:\DOCUME~1\nj\LOCALS~1\Temp\ghc3836_0\ghc3836_0.hc:3:
C:/ghc/ghc-6.7.20070709/include/Regs.h:119: error: syntax error before "MP_INT" C:/ghc/ghc-6.7.20070709/include/Regs.h:119: warning: no semicolon at end of stru
ct or union
C:/ghc/ghc-6.7.20070709/include/Regs.h:120: warning: type defaults to `int' in d
eclaration of `rmp_tmp2'
C:/ghc/ghc-6.7.20070709/include/Regs.h:120: warning: data definition has no type
or storage class
C:/ghc/ghc-6.7.20070709/include/Regs.h:121: error: syntax error before "rmp_resu
lt1"
C:/ghc/ghc-6.7.20070709/include/Regs.h:121: warning: type defaults to `int' in d
eclaration of `rmp_result1'
C:/ghc/ghc-6.7.20070709/include/Regs.h:121: warning: data definition has no type
or storage class
C:/ghc/ghc-6.7.20070709/include/Regs.h:122: error: syntax error before "rmp_resu
lt2"
C:/ghc/ghc-6.7.20070709/include/Regs.h:122: warning: type defaults to `int' in d
eclaration of `rmp_result2'
C:/ghc/ghc-6.7.20070709/include/Regs.h:122: warning: data definition has no type
or storage class
C:/ghc/ghc-6.7.20070709/include/Regs.h:125: error: syntax error before '}' token

C:/ghc/ghc-6.7.20070709/include/Regs.h:125: warning: type defaults to `int' in d
eclaration of `StgRegTable'
C:/ghc/ghc-6.7.20070709/include/Regs.h:125: warning: data definition has no type
or storage class
C:/ghc/ghc-6.7.20070709/include/Regs.h:334: error: syntax error before "StgRegTa
ble"
C:/ghc/ghc-6.7.20070709/include/Regs.h:334: warning: no semicolon at end of stru
ct or union
C:/ghc/ghc-6.7.20070709/include/Regs.h:353: error: syntax error before '*' token

C:/ghc/ghc-6.7.20070709/include/Regs.h:353: warning: type defaults to `int' in d
eclaration of `BaseReg'
C:/ghc/ghc-6.7.20070709/include/Regs.h:353: error: register name given for non-r
egister variable 'BaseReg'
C:/ghc/ghc-6.7.20070709/include/Regs.h:353: warning: data definition has no type
or storage class
In file included from C:/ghc/ghc-6.7.20070709/include/Stg.h:162,
                from C:\DOCUME~1\nj\LOCALS~1\Temp\ghc3836_0\ghc3836_0.hc:3:
C:/ghc/ghc-6.7.20070709/include/RtsExternal.h:45: error: syntax error before '*'
token
C:/ghc/ghc-6.7.20070709/include/RtsExternal.h:62: error: syntax error before '*'
token
C:/ghc/ghc-6.7.20070709/include/RtsExternal.h:63: error: syntax error before '*'
token
C:/ghc/ghc-6.7.20070709/include/RtsExternal.h:63: warning: type defaults to `int
' in declaration of `resumeThread'
C:/ghc/ghc-6.7.20070709/include/RtsExternal.h:63: warning: data definition has n
o type or storage class
C:/ghc/ghc-6.7.20070709/include/RtsExternal.h:66: error: syntax error before '*'
token
C:/ghc/ghc-6.7.20070709/include/RtsExternal.h:124: error: syntax error before '*
' token
C:\DOCUME~1\nj\LOCALS~1\Temp\ghc3836_0\ghc3836_0.hc: In function `rF0_entry': C:\DOCUME~1\nj\LOCALS~1\Temp\ghc3836_0\ghc3836_0.hc:27: error: request for membe
r `rSpLim' in something not a structure or union
C:\DOCUME~1\nj\LOCALS~1\Temp\ghc3836_0\ghc3836_0.hc: In function `r1uj_entry': C:\DOCUME~1\nj\LOCALS~1\Temp\ghc3836_0\ghc3836_0.hc:110: error: request for memb
er `rSpLim' in something not a structure or union
C:\DOCUME~1\nj\LOCALS~1\Temp\ghc3836_0\ghc3836_0.hc: In function `r1ul_entry': C:\DOCUME~1\nj\LOCALS~1\Temp\ghc3836_0\ghc3836_0.hc:202: error: request for memb
er `rSpLim' in something not a structure or union
C:\DOCUME~1\nj\LOCALS~1\Temp\ghc3836_0\ghc3836_0.hc: In function `r1up_entry': C:\DOCUME~1\nj\LOCALS~1\Temp\ghc3836_0\ghc3836_0.hc:249: error: request for memb
er `rHpLim' in something not a structure or union
C:\DOCUME~1\nj\LOCALS~1\Temp\ghc3836_0\ghc3836_0.hc:260: error: request for memb
er `rHpAlloc' in something not a structure or union
C:\DOCUME~1\nj\LOCALS~1\Temp\ghc3836_0\ghc3836_0.hc: In function `r1ur_entry': C:\DOCUME~1\nj\LOCALS~1\Temp\ghc3836_0\ghc3836_0.hc:305: error: request for memb
er `rSpLim' in something not a structure or union
C:\DOCUME~1\nj\LOCALS~1\Temp\ghc3836_0\ghc3836_0.hc:307: error: request for memb
er `rHpLim' in something not a structure or union
C:\DOCUME~1\nj\LOCALS~1\Temp\ghc3836_0\ghc3836_0.hc:318: error: request for memb
er `rHpAlloc' in something not a structure or union
C:\DOCUME~1\nj\LOCALS~1\Temp\ghc3836_0\ghc3836_0.hc: In function `s1A4_ret': C:\DOCUME~1\nj\LOCALS~1\Temp\ghc3836_0\ghc3836_0.hc:356: error: request for memb
er `rHpLim' in something not a structure or union
C:\DOCUME~1\nj\LOCALS~1\Temp\ghc3836_0\ghc3836_0.hc:365: error: request for memb
er `rHpAlloc' in something not a structure or union
C:\DOCUME~1\nj\LOCALS~1\Temp\ghc3836_0\ghc3836_0.hc:366: error: request for memb
er `rR9' in something not a structure or union
C:\DOCUME~1\nj\LOCALS~1\Temp\ghc3836_0\ghc3836_0.hc: In function `r1uv_entry': C:\DOCUME~1\nj\LOCALS~1\Temp\ghc3836_0\ghc3836_0.hc:386: error: request for memb
er `rSpLim' in something not a structure or union
C:\DOCUME~1\nj\LOCALS~1\Temp\ghc3836_0\ghc3836_0.hc: In function `r1uB_entry': C:\DOCUME~1\nj\LOCALS~1\Temp\ghc3836_0\ghc3836_0.hc:417: error: request for memb
er `rSpLim' in something not a structure or union
C:\DOCUME~1\nj\LOCALS~1\Temp\ghc3836_0\ghc3836_0.hc:419: error: request for memb
er `rHpLim' in something not a structure or union
C:\DOCUME~1\nj\LOCALS~1\Temp\ghc3836_0\ghc3836_0.hc:431: error: request for memb
er `rHpAlloc' in something not a structure or union
C:\DOCUME~1\nj\LOCALS~1\Temp\ghc3836_0\ghc3836_0.hc: In function `r1uD_entry': C:\DOCUME~1\nj\LOCALS~1\Temp\ghc3836_0\ghc3836_0.hc:448: error: request for memb
er `rSpLim' in something not a structure or union
C:\DOCUME~1\nj\LOCALS~1\Temp\ghc3836_0\ghc3836_0.hc:450: error: request for memb
er `rHpLim' in something not a structure or union
C:\DOCUME~1\nj\LOCALS~1\Temp\ghc3836_0\ghc3836_0.hc:462: error: request for memb
er `rHpAlloc' in something not a structure or union
C:\DOCUME~1\nj\LOCALS~1\Temp\ghc3836_0\ghc3836_0.hc: In function `s1xw_entry': C:\DOCUME~1\nj\LOCALS~1\Temp\ghc3836_0\ghc3836_0.hc:566: error: request for memb
er `rSpLim' in something not a structure or union
C:\DOCUME~1\nj\LOCALS~1\Temp\ghc3836_0\ghc3836_0.hc: In function `s1xu_entry': C:\DOCUME~1\nj\LOCALS~1\Temp\ghc3836_0\ghc3836_0.hc:592: error: request for memb
er `rHpLim' in something not a structure or union
C:\DOCUME~1\nj\LOCALS~1\Temp\ghc3836_0\ghc3836_0.hc:600: error: request for memb
er `rHpAlloc' in something not a structure or union
C:\DOCUME~1\nj\LOCALS~1\Temp\ghc3836_0\ghc3836_0.hc: In function `s1x0_ret': C:\DOCUME~1\nj\LOCALS~1\Temp\ghc3836_0\ghc3836_0.hc:671: error: request for memb
er `rHpLim' in something not a structure or union
C:\DOCUME~1\nj\LOCALS~1\Temp\ghc3836_0\ghc3836_0.hc:683: error: request for memb
er `rHpAlloc' in something not a structure or union
C:\DOCUME~1\nj\LOCALS~1\Temp\ghc3836_0\ghc3836_0.hc: In function `s1AX_ret': C:\DOCUME~1\nj\LOCALS~1\Temp\ghc3836_0\ghc3836_0.hc:710: error: request for memb
er `rR2' in something not a structure or union
C:\DOCUME~1\nj\LOCALS~1\Temp\ghc3836_0\ghc3836_0.hc: In function `Main_a_entry':

C:\DOCUME~1\nj\LOCALS~1\Temp\ghc3836_0\ghc3836_0.hc:831: error: request for memb
er `rSpLim' in something not a structure or union
C:\DOCUME~1\nj\LOCALS~1\Temp\ghc3836_0\ghc3836_0.hc: In function `Main_a1_entry'
:
C:\DOCUME~1\nj\LOCALS~1\Temp\ghc3836_0\ghc3836_0.hc:880: error: request for memb
er `rSpLim' in something not a structure or union

-------


------------------------------------------------------------------------

{-# OPTIONS_GHC -fffi -fglasgow-exts -cpp #-}

module Main(main) where

import System.IO.Unsafe
import System.IO
import Foreign.C.Types


import GHC.Base                 (realWorld#,State#,RealWorld)
import GHC.IOBase               (IO(IO), unIO, unsafePerformIO)

main = IO main_generated

overlay_get_char = unIO $ do
    c <- getchar
    return $ fromIntegral c

system_IO_hPutChar h c = unIO $ hPutChar h (toEnum c)

foreign import ccall unsafe "stdio.h getchar" getchar :: IO CInt
foreign import ccall unsafe "ctype.h iswspace" isspace :: CInt -> CInt

typeRealWorld :: State# RealWorld -> State# RealWorld
typeRealWorld x = x

prelude_seq = seq

prelude_error x = error (map toEnum x)

aDD_W = (+) :: Int -> Int -> Int
eQ_W = (==) :: Int -> Int -> Bool
gT_W = (>) :: Int -> Int -> Bool
lT_W = (<) :: Int -> Int -> Bool
qUOT = quot :: Int -> Int -> Int
rEM = rem :: Int -> Int -> Int

nEG_W = negate :: Int -> Int


int_ x = x :: Int
chr_ x = fromEnum x
str_ x = map chr_ x


system_IO_stdin = stdin
system_IO_stdout = stdout

data_Char_isSpace c = isspace (toEnum c) /= 0


{- OLD PREFIX

inlinePerformIO :: IO a -> a
inlinePerformIO (IO m) = case m realWorld# of (# _, r #) -> r

main = main_generated `seq` (return () :: IO ())

overlay_get_char = unIO $ do
    c <- getchar
    return $ fromIntegral c

overlay_token = 0 :: Int

overlay_put_char h c = inlinePerformIO (hPutChar h (toEnum c) >>
overlay_get_char h   = inlinePerformIO (getCharIO h)

-# NOINLINE getCharIO #-
getCharIO h = do
   c <- getchar
   return $ if c == (-1) then h `seq` (-1) else fromIntegral c
-}


prelude_1111_showPosInt v26421 v26422 =
    let v6 = qUOT v26421 (int_ 10)
    in case (eQ_W v6 (int_ 0)) of
           True -> f29 v26421 v26422
           False -> prelude_1111_showPosInt v6 (f29 v26421 v26422)

prelude_1111_showPosInt4 =
    prelude_1111_showPosInt (int_ 0) prelude__LAMBDA6

prelude_942_ll24 v1 v2 =
    case (overlay_get_char (typeRealWorld (typeRealWorld v2))) of
         (# v5  :: State# RealWorld , v6  #) ->
            case (eQ_W v6 (int_ (-1))) of
                True -> v1
                False ->
                    let v10 = aDD_W v1 (int_ 1)
                    in seq v10 (prelude_942_ll24 v10 (typeRealWorld v5))

prelude__LAMBDA6 = str_ ""

f15 v1 v2 =
    case (str_ "") of
        [] -> f7 v1
        (:) v5 v6 -> f8 v2 v5 v6 v1

f16 v1 v2 v3 v4 =
    case (system_IO_hPutChar v1 v2 (typeRealWorld v4)) of
         (# v9  :: State# RealWorld , v10  #) ->
            case v3 of
                [] -> f15 v9 v1
                (:) v10 v11 -> f16 v1 v10 v11 v9

f29 v1 v2 = (:) (aDD_W (int_ 48) (rEM v1 (int_ 10))) v2

f7 v1 = system_IO_hPutChar system_IO_stdout (chr_ '\n') v1

f8 v1 v2 v3 v4 =
    case (system_IO_hPutChar v1 v2 (typeRealWorld v4)) of
         (# v9  :: State# RealWorld , v10  #) ->
            case v3 of
                [] -> f7 v9
                (:) v10 v11 -> f8 v1 v10 v11 v9

main_generated real =
    case (overlay_get_char (typeRealWorld (typeRealWorld real))) of
         (# v5  :: State# RealWorld , v6  #) ->
            case (eQ_W v6 (int_ (-1))) of
                True ->
                    case prelude_1111_showPosInt4 of
                        [] -> f7 (typeRealWorld v5)
                        (:) v3 v4 -> f8 system_IO_stdout v3 v4 (typeRealWorld 
v5)
                False ->
                    let v7 = typeRealWorld v5
                    in let v8 =
                               let v8 = aDD_W (int_ 0) (int_ 1)
                               in seq v8 (prelude_942_ll24 v8 v7)
                       in case (lT_W v8 (int_ 0)) of
                              True ->
                                  let v11 = system_IO_stdout
                                  in case (system_IO_hPutChar
                                             v11
                                             (chr_ '-')
                                             (typeRealWorld (typeRealWorld 
v7))) of
                                          (# v9  :: State# RealWorld , v10  #) 
->
                                             case (eQ_W v8 (int_ 
(-2147483648))) of
                                                 True ->
                                                     case (str_ "2147483648") of
                                                         [] -> f15 v9 v11
                                                         (:) v7 v8 -> f16 v11 
v7 v8 v9
                                                 False ->
                                                     case 
(prelude_1111_showPosInt
                                                             (nEG_W v8)
                                                             prelude__LAMBDA6) 
of
                                                         [] -> f7 v9
                                                         (:) v10 v12 -> f8 v11 
v10 v12 v9
                              False ->
                                  case (prelude_1111_showPosInt v8 
prelude__LAMBDA6) of
                                      [] -> f7 (typeRealWorld v7)
                                      (:) v9 v10 -> f8 system_IO_stdout v9 v10 
(typeRealWorld v7)


------------------------------------------------------------------------

_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to