X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2Futils%2FArgv.lhs;h=c9ba42baf0d63f8d0dc7271a687fa40d9985af58;hb=1fb1ab5d53a09607e7f6d2450806760688396387;hp=58926a8957f82bf62c10764288e310635881b8f5;hpb=6c381e873e222417d9a67aeec77b9555eca7b7a8;p=ghc-hetmet.git diff --git a/ghc/compiler/utils/Argv.lhs b/ghc/compiler/utils/Argv.lhs index 58926a8..c9ba42b 100644 --- a/ghc/compiler/utils/Argv.lhs +++ b/ghc/compiler/utils/Argv.lhs @@ -12,10 +12,22 @@ import PreludeGlaST ( indexAddrOffAddr ) CHK_Ubiq() -- debugging consistency check +#if __GLASGOW_HASKELL__ >= 200 +# define ADDR GHCbase.Addr +# define PACK_STR packCString +#else +# define ADDR _Addr +# define PACK_STR mkFastCharString +/* +# define ADDR _Addr +# define PACK_STR _packCString +*/ +#endif + argv :: [FAST_STRING] argv = unpackArgv ``prog_argv'' (``prog_argc''::Int) -unpackArgv :: _Addr -> Int -> [FAST_STRING] -- argv[1 .. argc-1] +unpackArgv :: ADDR -> Int -> [FAST_STRING] -- argv[1 .. argc-1] unpackArgv argv argc = unpack 1 where @@ -24,6 +36,6 @@ unpackArgv argv argc = unpack 1 = if (n >= argc) then ([] :: [FAST_STRING]) else case (indexAddrOffAddr argv n) of { item -> - _packCString item : unpack (n + 1) + PACK_STR item : unpack (n + 1) } \end{code}