Ok, I've finally given in and fixed this. From experience there are
numerous strange subtelties with cpp, but I haven't found any killers yet.
We *have* to use -traditional, otherwise '//' is interpreted as a C++
comment. Sigh. The command line I'm using in hscpp is now '$CPP -undef
On Tue, Jul 13, 1999 at 03:26:27 -0700, Simon Marlow wrote:
Use `gcc -E -` then.
Good point :-)
nearly..., but we have to use '$CPP -x c-header' which would expand to
'gcc -E -x c-header', otherwise gcc wants to link those temporary *.lpp
files :-(
IMHO '-x c-header' just means to gcc:
Michael Weber wrote:
[...] maybe the *BSD, OSF, and Windows folks should do the above
tests, too...
This seems to work on Alphas, too:
--
$ uname -srm
OSF1 V3.2 alpha
$ echo TEST | gcc -E -DTEST=works -
# 1 ""
works
$ echo TEST | /lib/cpp
On Tue, Jul 13, 1999 at 17:47:27 +0900, Manuel M. T. Chakravarty wrote:
Simon Marlow [EMAIL PROTECTED] wrote,
It isn't strictly speaking hardcoded, it's set up when you configure a
binary distribution. So if you move gcc or install a new version, you need
to re-install ghc.
Yes, and
Simon Marlow writes:
We also like to get as clean a cpp as possible - if you go through gcc -E
you get a whole bunch of symbols defined,
The -undef option gets rid of most of those.
and cpp gets passed the -lang-c flag (whatever that means, but it
looks pretty scary).
The other
Hi!
Please, can somebody explain, why the preprocessor is hardcoded in the GHC
perl scripts? IIRC ghc (the perlscript itself) doesn't even reference
$RAWCPP. mkdependHS and hscpp do, but why an absolute path and this obscure
"-iprefix" parameter? Again, "-iwithprefix" is never used...
Would it