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