Building GHC head with clang on Mavericks

Kazu Yamamoto (=?iso-2022-jp?B?GyRCOzNLXE9CSScbKEI=?=) kazu at
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?


If we modify clang-wrapper to not convert "-x c" to "-x
assembler-with-cpp", some other files which contains " #-}" cannot be


More information about the ghc-devs mailing list