diff options
Diffstat (limited to 'pkgs/development/compilers/ghc/fix-7.4.2-clang.patch')
-rw-r--r-- | pkgs/development/compilers/ghc/fix-7.4.2-clang.patch | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/pkgs/development/compilers/ghc/fix-7.4.2-clang.patch b/pkgs/development/compilers/ghc/fix-7.4.2-clang.patch new file mode 100644 index 00000000000..ce1593b3e31 --- /dev/null +++ b/pkgs/development/compilers/ghc/fix-7.4.2-clang.patch @@ -0,0 +1,57 @@ +diff --git a/compiler/codeGen/CgInfoTbls.hs b/compiler/codeGen/CgInfoTbls.hs +index 25ba154..fbb7874 100644 +--- a/compiler/codeGen/CgInfoTbls.hs ++++ b/compiler/codeGen/CgInfoTbls.hs +@@ -178,9 +178,7 @@ mkStackLayout = do + [(offset - frame_sp - retAddrSizeW, b) + | (offset, b) <- binds] + +- WARN( not (all (\bind -> fst bind >= 0) rel_binds), +- pprPlatform platform binds $$ pprPlatform platform rel_binds $$ +- ppr frame_size $$ ppr real_sp $$ ppr frame_sp ) ++ WARN( not (all (\bind -> fst bind >= 0) rel_binds), pprPlatform platform binds $$ pprPlatform platform rel_binds $$ ppr frame_size $$ ppr real_sp $$ ppr frame_sp ) + return $ stack_layout rel_binds frame_size + + stack_layout :: [(VirtualSpOffset, CgIdInfo)] +diff --git a/compiler/main/GhcMake.hs b/compiler/main/GhcMake.hs +index 091e1be..23447e4 100644 +--- a/compiler/main/GhcMake.hs ++++ b/compiler/main/GhcMake.hs +@@ -338,8 +338,7 @@ load2 how_much mod_graph = do + liftIO $ intermediateCleanTempFiles dflags mods_to_keep hsc_env1 + + -- there should be no Nothings where linkables should be, now +- ASSERT(all (isJust.hm_linkable) +- (eltsUFM (hsc_HPT hsc_env))) do ++ ASSERT(all (isJust.hm_linkable) (eltsUFM (hsc_HPT hsc_env))) do + + -- Link everything together + linkresult <- liftIO $ link (ghcLink dflags) dflags False hpt4 +diff --git a/compiler/simplCore/SimplUtils.lhs b/compiler/simplCore/SimplUtils.lhs +index 86dc88d..ecde4fd 100644 +--- a/compiler/simplCore/SimplUtils.lhs ++++ b/compiler/simplCore/SimplUtils.lhs +@@ -407,8 +407,7 @@ mkArgInfo fun rules n_val_args call_cont + else + map isStrictDmd demands ++ vanilla_stricts + | otherwise +- -> WARN( True, text "More demands than arity" <+> ppr fun <+> ppr (idArity fun) +- <+> ppr n_val_args <+> ppr demands ) ++ -> WARN( True, text "More demands than arity" <+> ppr fun <+> ppr (idArity fun) <+> ppr n_val_args <+> ppr demands ) + vanilla_stricts -- Not enough args, or no strictness + + add_type_str :: Type -> [Bool] -> [Bool] +diff --git a/compiler/simplCore/Simplify.lhs b/compiler/simplCore/Simplify.lhs +index 3bd95a7..4c9ee7c 100644 +--- a/compiler/simplCore/Simplify.lhs ++++ b/compiler/simplCore/Simplify.lhs +@@ -2336,8 +2336,7 @@ mkDupableAlt env case_bndr (con, bndrs', rhs') + rhs = mkConApp dc (map Type (tyConAppArgs scrut_ty) + ++ varsToCoreExprs bndrs') + +- LitAlt {} -> WARN( True, ptext (sLit "mkDupableAlt") +- <+> ppr case_bndr <+> ppr con ) ++ LitAlt {} -> WARN( True, ptext (sLit "mkDupableAlt") <+> ppr case_bndr <+> ppr con ) + case_bndr + -- The case binder is alive but trivial, so why has + -- it not been substituted away? |