summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAustin Seipp <austin@well-typed.com>2014-04-21 07:22:50 -0500
committerAustin Seipp <austin@well-typed.com>2014-04-21 07:22:52 -0500
commit574ef4293b867609f2d28d85747e01f3ac0d052d (patch)
tree253070c3cd0492e6dda807b6c4a8111c56390ce1
parent31dd5e5db965fa9ed30ac5b58514668f92843c01 (diff)
downloadhaskell-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>
-rw-r--r--compiler/main/DynFlags.hs8
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 = []
-- -----------------------------------------------------------------------------