On Jul 21, 2007, at 6:24 PM, Ian Lynagh wrote:
On Thu, Jul 19, 2007 at 08:57:36PM -0400, Peter Tanski wrote:
Sorry, I forgot to attach the original Parser.hs file. Here it is:
Looks like the problem is before this point. You have a space before
#include "HsVersions.h"
when there shouldn't be one. In my log this file is built with:
c:/mingw/bin/gcc -E -mno-cygwin -undef -traditional -P -I../
includes -x c parser/Parser.y.pp | \
grep -v '^#pragma GCC' > parser/Parser.y
so if you are using a different C compiler then perhaps the problem is
that its preprocessor works differently?
That seems to be what it is: the preprocessor for gcc 3.4.5 (Mingw
special) inserts a space:
> cat TstFile.pp
#define INCLUDE #include
INCLUDE "HsVersions.h"
> gcc -E -u -P TstFile.pp
#include "HsVersions.h
^
If it isn't apparent from the email, it does insert a space; it does
recognise the --traditional flag but that makes no difference (it
still inserts a space, though I don't know why configure didn't pick
it up and add it to RAWCPP_FLAGS). At least it isn't a problem with
Happy or Parser.y.pp. I think gcc-3.4.5's preprocessor is reading
the the # as a concatenation operator and concatenating the space--
but then why would it include # in the output? Odd.
Cheers,
Pete
_______________________________________________
Cvs-ghc mailing list
Cvs-ghc@haskell.org
http://www.haskell.org/mailman/listinfo/cvs-ghc