
Ok. Got it. So some more patches were needed. Pardon the asking, was somehow getting confused earlier. On Tuesday, November 19, 2013, Kazu Yamamoto wrote:
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