diff options
author | Luite Stegeman <stegeman@gmail.com> | 2018-01-08 08:42:30 +0000 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2019-05-22 16:59:39 -0400 |
commit | 4ba73e00c4887b58d85131601a15d00608acaa60 (patch) | |
tree | c68fe04ecc5482118a741b7fc4f00567a9eee609 /compiler/deSugar | |
parent | 6efe04dee3f4c584e0cd043b8424718f0791d1be (diff) | |
download | haskell-4ba73e00c4887b58d85131601a15d00608acaa60.tar.gz |
fix Template Haskell cross compilation on 64 bit compiler with 32 bit target
Diffstat (limited to 'compiler/deSugar')
-rw-r--r-- | compiler/deSugar/DsMeta.hs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/compiler/deSugar/DsMeta.hs b/compiler/deSugar/DsMeta.hs index 7e13fdcc36..303c7a08d3 100644 --- a/compiler/deSugar/DsMeta.hs +++ b/compiler/deSugar/DsMeta.hs @@ -1920,7 +1920,7 @@ globalVar name ; rep2 mk_varg [pkg,mod,occ] } | otherwise = do { MkC occ <- nameLit name - ; MkC uni <- coreIntLit (getKey (getUnique name)) + ; MkC uni <- coreIntegerLit (toInteger $ getKey (getUnique name)) ; rep2 mkNameLName [occ,uni] } where mod = ASSERT( isExternalName name) nameModule name @@ -2717,6 +2717,9 @@ coreIntLit :: Int -> DsM (Core Int) coreIntLit i = do dflags <- getDynFlags return (MkC (mkIntExprInt dflags i)) +coreIntegerLit :: Integer -> DsM (Core Integer) +coreIntegerLit i = fmap MkC (mkIntegerExpr i) + coreVar :: Id -> Core TH.Name -- The Id has type Name coreVar id = MkC (Var id) |