Thanks. I think preprocessor dump could help me: cpp -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 > cpp_dump That is ghc-stage1 -> cpp and all options that cpp doesn't accept removed. I hope ghc preprocessor is compatible with system C preprocessor.
11.12.2013, 01:06, "Simon Marlow" <[email protected]>: > On 10/12/13 00:35, Alexander Pakhomov wrote: > >> Hi. Trying to compile ghc HEAD 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? > > I think this means that something went wrong when generating > DerivedConstants.h, which is where the definition of bdescr_link() comes > from. In my build, I have the following, in the file > includes/dist-derivedconstants/header/: > > #define OFFSET_bdescr_link 16 > #define REP_bdescr_link b64 > #define bdescr_link(__ptr__) REP_bdescr_link[__ptr__+OFFSET_bdescr_link] > > This is auto-generated by the program in utils/deriveConstants. This > used to be a C program, but nowadays it's a Haskell program that > generates a C program for reasons that I forget. Anyway, your problem > is somewhere in there... see if you can find out where by dumping out > intermediate files and so forth. If you get stuck, tell us where you > get to and we'll try to help some more. > > Cheers, > Simon _______________________________________________ ghc-devs mailing list [email protected] http://www.haskell.org/mailman/listinfo/ghc-devs
