diff options
author | Austin Seipp <austin@well-typed.com> | 2014-04-21 07:22:50 -0500 |
---|---|---|
committer | Austin Seipp <austin@well-typed.com> | 2014-04-21 07:22:52 -0500 |
commit | 574ef4293b867609f2d28d85747e01f3ac0d052d (patch) | |
tree | 253070c3cd0492e6dda807b6c4a8111c56390ce1 /compiler | |
parent | 31dd5e5db965fa9ed30ac5b58514668f92843c01 (diff) | |
download | haskell-574ef4293b867609f2d28d85747e01f3ac0d052d.tar.gz |
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 <austin@well-typed.com>
Diffstat (limited to 'compiler')
-rw-r--r-- | compiler/main/DynFlags.hs | 8 |
1 files 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 = [] -- ----------------------------------------------------------------------------- |