Building GHC head with clang on Mavericks
Kazu Yamamoto (=?iso-2022-jp?B?GyRCOzNLXE9CSScbKEI=?=)
kazu at iij.ad.jp
Wed Nov 20 04:08:42 UTC 2013
> Was there an issue if you used a wrapped clang and those patches or not?
> I'm really confused.
Even with GHC/clang-wrapper and alex/happy with Nick's patches, I
cannot build GHC head. (I'm not using GCC 42 at all in this case.)
AlexTemplate (pre-processed by clang) has linemarkers like this:
----
# 1 "<built-in>"
----
So, Lexer.hs generated from Lexer.x by alex also includes this one.
Lexer.hs is CPP language extension. So, it is pre-processed again by
clang. Since clang-wrapper specifies "-x assembler-with-cpp",
generated Lexcer.hscpp contains:
----
# 1 "<built-in>"
----
GHC cannot handle this, so build fails.
My hack lets alex and happy not to produce linemarkers at all.
Is this explanation clear to you?
P.S.
If we modify clang-wrapper to not convert "-x c" to "-x
assembler-with-cpp", some other files which contains " #-}" cannot be
compiled.
--Kazu
More information about the ghc-devs
mailing list