[Haskell-cafe] cmm

Alexander Pakhomov ker0sin at yandex.ru
Mon Dec 9 22:07:13 UTC 2013

Hi. Trying to compile ghc-7.7.20130828 on OpenBSD I got an error:
rts/HeapStackCheck.cmm:97:18: parse error on input `['
The code is following:
 96         if (HpAlloc <= BLOCK_SIZE
 97             && bdescr_link(CurrentNursery) != NULL) {
which preprocesses to:
        if (HpAlloc <= (1<<12)
            && b0[CurrentNursery+15] != (0::bits64)) {
This is the first occurrence of b0 in preprocessed file. I believe that it is due to undefined b0.
Command that fails is:
"inplace/bin/ghc-stage1" -static  -H32m -O -Iincludes -Iincludes/dist -Iincludes/dist-derivedconstants/header -Iincludes/dist-ghcconstants/header -Irts -Irts/dist/build -DCOMPILING_RTS -package-name rts -dcmm-lint      -i -irts -irts/dist/build -irts/dist/build/autogen -Irts/dist/build -Irts/dist/build/autogen           -O2    -c rts/HeapStackCheck.cmm -o rts/dist/build/HeapStackCheck.o
To preprocess do the following:
cpp -O -Iincludes -Iincludes/dist -Iincludes/dist-derivedconstants/header -Iincludes/dist-ghcconstants/header -Irts -Irts/dist/build -DCOMPILING_RTS -Irts/dist/build -Irts/dist/build/autogen         rts/HeapStackCheck.cmm | less
Can you please find source of b0 in preprocessed file?

More information about the Haskell-Cafe mailing list