GHC Calls CPP for HS with -undef
GHC Is calling the C preprocessor[1] when processing HS files with -undef
which unsets the C compiler pre-defines.
Essentially it means you cannot use any normal compiler defines to check for platform or intrinsics support.
Is this really the intended behavior?
I get the fact that we're processing a Haskell source file, but why restrict the pre-processor to only GHC defines. You lose information like if unaligned accesses are supported or not etc.
[1] https://github.com/ghc/ghc/blob/60aa53d97da1bbfbb88e9f2791c3f686ba34e764/aclocal.m4#L2241