Revert "Remove RAWCPP_FLAGS"
authorHerbert Valerio Riedel <hvr@gnu.org>
Mon, 1 Dec 2014 07:37:09 +0000 (08:37 +0100)
committerHerbert Valerio Riedel <hvr@gnu.org>
Mon, 1 Dec 2014 07:40:13 +0000 (08:40 +0100)
This reverts commit 460eebec65811c6a7bbe11645df322dda868e80d.

Thomas requested to revert the commit with the words:

> Please revert this commit, it is horribly wrong. I'll have a proper look
> later, but not supplying `-traditional` to the C preprocessor is the cause
> of #9828.

the reverted commit was related to #9094

compiler/ghc.mk
mk/config.mk.in
rules/manual-package-config.mk

index 640bf75..c1b168e 100644 (file)
@@ -269,10 +269,10 @@ compiler_CPP_OPTS += ${GhcCppOpts}
 define preprocessCompilerFiles
 # $0 = stage
 compiler/stage$1/build/Parser.y: compiler/parser/Parser.y.pp
-       $$(CPP) -P $$(compiler_CPP_OPTS) -x c $$< | grep -v '^#pragma GCC' > $$@
+       $$(CPP) $$(RAWCPP_FLAGS) -P $$(compiler_CPP_OPTS) -x c $$< | grep -v '^#pragma GCC' > $$@
 
 compiler/stage$1/build/primops.txt: compiler/prelude/primops.txt.pp compiler/stage$1/$$(PLATFORM_H)
-       $$(CPP) -P $$(compiler_CPP_OPTS) -Icompiler/stage$1 -x c $$< | grep -v '^#pragma GCC' > $$@
+       $$(CPP) $$(RAWCPP_FLAGS) -P $$(compiler_CPP_OPTS) -Icompiler/stage$1 -x c $$< | grep -v '^#pragma GCC' > $$@
 
 compiler/stage$1/build/primop-data-decl.hs-incl: compiler/stage$1/build/primops.txt $$$$(genprimopcode_INPLACE)
        "$$(genprimopcode_INPLACE)" --data-decl          < $$< > $$@
index 4f22c56..0f5820f 100644 (file)
@@ -626,6 +626,15 @@ CP                 = cp
 # It's not easy to separate the CPP program from its flags, as
 # AC_PROG_CPP defines CPP as "/usr/bin/gcc -E"
 CPP                    = @CPP@ @CPPFLAGS@
+#
+# RAWCPP_FLAGS are the flags to give to cpp (viz, gcc -E) to persuade it to
+# behave plausibly on Haskell sources.
+#
+# Clang in particular is a bit more annoying, so we suppress some warnings.
+RAWCPP_FLAGS            = -undef -traditional
+ifeq "$(CC_CLANG_BACKEND)" "1"
+RAWCPP_FLAGS           += -Wno-invalid-pp-token -Wno-unicode -Wno-trigraphs
+endif
 
 FIND                   = @FindCmd@
 
index 56eea70..10629aa 100644 (file)
@@ -16,7 +16,7 @@ $(call trace, manual-package-config($1))
 $(call profStart, manual-package-config($1))
 
 $1/dist/package.conf.inplace : $1/package.conf.in $$$$(ghc-pkg_INPLACE) | $$$$(dir $$$$@)/.
-       $$(CPP) -P \
+       $$(CPP) $$(RAWCPP_FLAGS) -P \
                -DTOP='"$$(TOP)"' \
                $$($1_PACKAGE_CPP_OPTS) \
                -x c $$(addprefix -I,$$(GHC_INCLUDE_DIRS)) $$< -o $$@.raw
@@ -29,7 +29,7 @@ $1/dist/package.conf.inplace : $1/package.conf.in $$$$(ghc-pkg_INPLACE) | $$$$(d
 # "make install", so we declare it as phony
 .PHONY: $1/dist/package.conf.install
 $1/dist/package.conf.install: | $$$$(dir $$$$@)/.
-       $$(CPP) -P \
+       $$(CPP) $$(RAWCPP_FLAGS) -P \
                -DINSTALLING \
                -DLIB_DIR='"$$(if $$(filter YES,$$(RelocatableBuild)),$$$$topdir,$$(ghclibdir))"' \
                -DINCLUDE_DIR='"$$(if $$(filter YES,$$(RelocatableBuild)),$$$$topdir,$$(ghclibdir))/include"' \