Fix build
authorCsongor Kiss <kiss.csongor.kiss@gmail.com>
Sat, 8 Oct 2016 10:28:22 +0000 (11:28 +0100)
committerMatthew Pickering <matthewtpickering@gmail.com>
Sat, 8 Oct 2016 10:28:58 +0000 (11:28 +0100)
- interaction between backpack and export list refactoring
  introduced a few syntax errors, and constructor arity mismatches
- CPP macro used in backpack was not accepted by clang because of
  extraneous whitespace

Signed-off-by: Csongor Kiss <kiss.csongor.kiss@gmail.com>
Reviewers: austin, bgamari, mpickering

Reviewed By: mpickering

Subscribers: thomie

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

compiler/backpack/NameShape.hs
compiler/backpack/RnModIface.hs
compiler/deSugar/Desugar.hs

index 568d700..0a2d7ca 100644 (file)
@@ -167,7 +167,7 @@ substName env n | Just n' <- lookupNameEnv env n = n'
 -- for type constructors, where it is sufficient to substitute the 'availName'
 -- to induce a substitution on 'availNames'.
 substNameAvailInfo :: HscEnv -> ShNameSubst -> AvailInfo -> IO AvailInfo
-substNameAvailInfo _ env (Avail p n) = return (Avail p (substName env n))
+substNameAvailInfo _ env (Avail n) = return (Avail (substName env n))
 substNameAvailInfo hsc_env env (AvailTC n ns fs) =
     let mb_mod = fmap nameModule (lookupNameEnv env n)
     in AvailTC (substName env n)
@@ -243,7 +243,7 @@ uAvailInfos flexi as1 as2 = -- pprTrace "uAvailInfos" (ppr as1 $$ ppr as2) $
 -- with only name holes from @flexi@ unifiable (all other name holes rigid.)
 uAvailInfo :: ModuleName -> ShNameSubst -> AvailInfo -> AvailInfo
            -> Either SDoc ShNameSubst
-uAvailInfo flexi subst (Avail _ n1) (Avail _ n2) = uName flexi subst n1 n2
+uAvailInfo flexi subst (Avail n1) (Avail n2) = uName flexi subst n1 n2
 uAvailInfo flexi subst (AvailTC n1 _ _) (AvailTC n2 _ _) = uName flexi subst n1 n2
 uAvailInfo _ _ a1 a2 = Left $ text "While merging export lists, could not combine"
                            <+> ppr a1 <+> text "with" <+> ppr a2
index 536f0b0..b90edd9 100644 (file)
@@ -140,7 +140,7 @@ rnModule mod = do
     return (renameHoleModule dflags hmap mod)
 
 rnAvailInfo :: Rename AvailInfo
-rnAvailInfo (Avail p n) = Avail p <$> rnIfaceGlobal n
+rnAvailInfo (Avail n) = Avail <$> rnIfaceGlobal n
 rnAvailInfo (AvailTC n ns fs) = do
     -- Why don't we rnIfaceGlobal the availName itself?  It may not
     -- actually be exported by the module it putatively is from, in
index 1f589a9..28ec706 100644 (file)
@@ -369,7 +369,7 @@ deSugar hsc_env
         ; usages <- mkUsageInfo hsc_env mod (imp_mods imports) used_names dep_files merged
         -- id_mod /= mod when we are processing an hsig, but hsigs
         -- never desugared and compiled (there's no code!)
-        ; MASSERT ( id_mod == mod )
+        ; MASSERT( id_mod == mod )
 
         ; let mod_guts = ModGuts {
                 mg_module       = mod,