Strip source ticks from iface code if DWARF is disabled
authorPeter Wortmann <scpmw@leeds.ac.uk>
Tue, 22 Oct 2013 15:05:16 +0000 (16:05 +0100)
committerAustin Seipp <austin@well-typed.com>
Tue, 16 Dec 2014 21:02:24 +0000 (15:02 -0600)
They would be unneeded at minimum. Not completely sure this is the right
place to do this.

(From Phabricator D169)

compiler/iface/TcIface.hs

index 96e72df..cf0dc5b 100644 (file)
@@ -1009,8 +1009,14 @@ tcIfaceExpr (IfaceLet (IfaceRec pairs) body)
 
 tcIfaceExpr (IfaceTick tickish expr) = do
     expr' <- tcIfaceExpr expr
-    tickish' <- tcIfaceTickish tickish
-    return (Tick tickish' expr')
+    -- If debug flag is not set: Ignore source notes
+    dbgFlag <- fmap (gopt Opt_Debug) getDynFlags
+    case tickish of
+      IfaceSource{} | not dbgFlag
+                    -> return expr'
+      _otherwise    -> do
+        tickish' <- tcIfaceTickish tickish
+        return (Tick tickish' expr')
 
 -------------------------
 tcIfaceApps :: IfaceExpr -> IfaceExpr -> IfL CoreExpr