are you using GCC or Clang, what versions are they?
On Tue, Dec 10, 2013 at 4:43 PM, Alexander Pakhomov <[email protected]>wrote: > 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 >
_______________________________________________ ghc-devs mailing list [email protected] http://www.haskell.org/mailman/listinfo/ghc-devs
