summaryrefslogtreecommitdiff
path: root/compiler/iface
diff options
context:
space:
mode:
authorEdward Z. Yang <ezyang@cs.stanford.edu>2016-09-01 15:28:07 -0700
committerEdward Z. Yang <ezyang@cs.stanford.edu>2016-09-02 01:42:21 -0700
commit818760d68c0e5e4479a4f64fc863303ff5f23a3a (patch)
tree776910c07ceaebf3a90dd63d5dcb8848787b938b /compiler/iface
parent0cc3931bd7831fa8d042f968a5a9114534a656e4 (diff)
downloadhaskell-818760d68c0e5e4479a4f64fc863303ff5f23a3a.tar.gz
Fix #10923 by fingerprinting optimization level.
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> Test Plan: validate Reviewers: simonmar, austin, bgamari, thomie, rwbarton Differential Revision: https://phabricator.haskell.org/D2509 GHC Trac Issues: #10923
Diffstat (limited to 'compiler/iface')
-rw-r--r--compiler/iface/FlagChecker.hs10
1 files changed, 8 insertions, 2 deletions
diff --git a/compiler/iface/FlagChecker.hs b/compiler/iface/FlagChecker.hs
index ca8cf28a09..b3f3758746 100644
--- a/compiler/iface/FlagChecker.hs
+++ b/compiler/iface/FlagChecker.hs
@@ -45,8 +45,14 @@ fingerprintDynFlags dflags@DynFlags{..} this_mod nameio =
-- -fprof-auto etc.
prof = if gopt Opt_SccProfilingOn dflags then fromEnum profAuto else 0
- in -- pprTrace "flags" (ppr (mainis, safeHs, lang, cpp, paths)) $
- computeFingerprint nameio (mainis, safeHs, lang, cpp, paths, prof)
+ -- -O, see https://ghc.haskell.org/trac/ghc/ticket/10923
+ opt = if hscTarget == HscInterpreted ||
+ hscTarget == HscNothing
+ then 0
+ else optLevel
+
+ in -- pprTrace "flags" (ppr (mainis, safeHs, lang, cpp, paths, prof, opt)) $
+ computeFingerprint nameio (mainis, safeHs, lang, cpp, paths, prof, opt)
{- Note [path flags and recompilation]