Put stable pointer names in the name cache.
authorEdward Z. Yang <ezyang@cs.stanford.edu>
Sun, 20 Sep 2015 10:19:17 +0000 (12:19 +0200)
committerBen Gamari <ben@smart-cactus.org>
Sun, 20 Sep 2015 10:19:20 +0000 (12:19 +0200)
Test Plan: validate

Reviewers: simonpj, austin, bgamari

Reviewed By: austin, bgamari

Subscribers: thomie

Differential Revision: https://phabricator.haskell.org/D1249

compiler/deSugar/DsExpr.hs

index d3a8156..32bd27b 100644 (file)
@@ -58,6 +58,7 @@ import Bag
 import Outputable
 import FastString
 
+import IfaceEnv
 import IdInfo
 import Data.IORef       ( atomicModifyIORef', modifyIORef )
 
@@ -985,10 +986,9 @@ badMonadBind rhs elt_ty flag_doc
 --
 mkSptEntryName :: SrcSpan -> DsM Name
 mkSptEntryName loc = do
-    uniq <- newUnique
     mod  <- getModule
     occ  <- mkWrapperName "sptEntry"
-    return $ mkExternalName uniq mod occ loc
+    newGlobalBinder mod occ loc
   where
     mkWrapperName what
       = do dflags <- getDynFlags