From 574ef4293b867609f2d28d85747e01f3ac0d052d Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Mon, 21 Apr 2014 07:22:50 -0500 Subject: ghc: Do not add a space in '-U __PIC__' GHC previously introduced a space here. However, this can in some cases be interpreted as "-U __PIC__" - note that in shell, the -U would still be recognized with an argument, but the argument would be " __PIC__", with a space in front, as opposed to the single string '__PIC__'. In practice most tools seem to handle this OK. But the Coverity Scan analysis tool does not: it errors on the fact that ' __PIC__' is an invalid CPP name to undefine. With this, it seems the Coverity analysis tool can easily analyze the entire GHC build. Signed-off-by: Austin Seipp --- compiler/main/DynFlags.hs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/compiler/main/DynFlags.hs b/compiler/main/DynFlags.hs index 1f7044c097..ee4f8a71d9 100644 --- a/compiler/main/DynFlags.hs +++ b/compiler/main/DynFlags.hs @@ -3548,10 +3548,10 @@ picCCOpts dflags -- Don't generate "common" symbols - these are unwanted -- in dynamic libraries. - | gopt Opt_PIC dflags -> ["-fno-common", "-U __PIC__", "-D__PIC__"] + | gopt Opt_PIC dflags -> ["-fno-common", "-U__PIC__", "-D__PIC__"] | otherwise -> ["-mdynamic-no-pic"] OSMinGW32 -- no -fPIC for Windows - | gopt Opt_PIC dflags -> ["-U __PIC__", "-D__PIC__"] + | gopt Opt_PIC dflags -> ["-U__PIC__", "-D__PIC__"] | otherwise -> [] _ -- we need -fPIC for C files when we are compiling with -dynamic, @@ -3560,12 +3560,12 @@ picCCOpts dflags -- objects, but can't without -fPIC. See -- http://ghc.haskell.org/trac/ghc/wiki/Commentary/PositionIndependentCode | gopt Opt_PIC dflags || not (gopt Opt_Static dflags) -> - ["-fPIC", "-U __PIC__", "-D__PIC__"] + ["-fPIC", "-U__PIC__", "-D__PIC__"] | otherwise -> [] picPOpts :: DynFlags -> [String] picPOpts dflags - | gopt Opt_PIC dflags = ["-U __PIC__", "-D__PIC__"] + | gopt Opt_PIC dflags = ["-U__PIC__", "-D__PIC__"] | otherwise = [] -- ----------------------------------------------------------------------------- -- cgit v1.2.1