Hi Malcolm:
cpphs is under consideration as a replacement for GCC's C preprocessor in the GHC toolchain:
GHC 7.10.3's build fails when cpphs is used as the C preprocessor (--with-hs-cpp=cpphs --with-hs-cpp-flags="--cpp").
It runs into this error when preprocessing libraries/base/GHC/Natural.hs:
cpphs: macro MIN_VERSION_integer_gmp expected 3 arguments, but was given 0
I've reproduced this issue on Ubuntu 14.04 x86-64 and SmartOS 15.3.0 x86-64.
Interestingly the error seems to arise only when preprocessing Natural.hs while the autogenerated cabal-macros.h is present. Removing that include from the cpphs flags leads to a clean preprocessing run.
I have more details of this investigation here:
Is this a bug?
Best,
Alain