$NetBSD: patch-compiler_GHC_Driver_Pipeline.hs,v 1.1 2021/05/01 09:04:57 pho Exp $ Do not use -Xpreprocessor to pass options to CPP. Our tool wrappers may remove some of them, and if that happens an unpaired -Xpreprocessor will be left behind and confuses CC. --- compiler/GHC/Driver/Pipeline.hs.orig 2021-05-01 06:52:42.897138372 +0000 +++ compiler/GHC/Driver/Pipeline.hs @@ -1293,8 +1293,8 @@ runPhase (RealPhase cc_phase) input_fn d -- (#16737). Doing it in this way is simpler and also enable the C -- compiler to perform preprocessing and parsing in a single pass, -- but it may introduce inconsistency if a different pgm_P is specified. - let more_preprocessor_opts = concat - [ ["-Xpreprocessor", i] + let more_preprocessor_opts = + [ i | not hcc , i <- getOpts dflags opt_P ]