diff options
Diffstat (limited to 'pkgs/development/compilers/ghc/fix-7.6.3-clang.patch')
-rw-r--r-- | pkgs/development/compilers/ghc/fix-7.6.3-clang.patch | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/pkgs/development/compilers/ghc/fix-7.6.3-clang.patch b/pkgs/development/compilers/ghc/fix-7.6.3-clang.patch new file mode 100644 index 000000000000..e83fd252d72c --- /dev/null +++ b/pkgs/development/compilers/ghc/fix-7.6.3-clang.patch @@ -0,0 +1,71 @@ +diff --git a/compiler/codeGen/CgInfoTbls.hs b/compiler/codeGen/CgInfoTbls.hs +index 7cdb1b6..e953507 100644 +--- a/compiler/codeGen/CgInfoTbls.hs ++++ b/compiler/codeGen/CgInfoTbls.hs +@@ -157,9 +157,7 @@ mkStackLayout = do + [(offset - frame_sp - retAddrSizeW, b) + | (offset, b) <- binds] + +- WARN( not (all (\bind -> fst bind >= 0) rel_binds), +- ppr binds $$ ppr rel_binds $$ +- ppr frame_size $$ ppr real_sp $$ ppr frame_sp ) ++ WARN( not (all (\bind -> fst bind >= 0) rel_binds), ppr binds $$ ppr 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 f563cd9..4ac7812 100644 +--- a/compiler/main/GhcMake.hs ++++ b/compiler/main/GhcMake.hs +@@ -331,8 +331,7 @@ load how_much = 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 87aefba..479d2ef 100644 +--- a/compiler/simplCore/SimplUtils.lhs ++++ b/compiler/simplCore/SimplUtils.lhs +@@ -415,8 +415,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 f2ed224..464fad6 100644 +--- a/compiler/simplCore/Simplify.lhs ++++ b/compiler/simplCore/Simplify.lhs +@@ -2359,8 +2359,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? +diff --git a/compiler/types/Coercion.lhs b/compiler/types/Coercion.lhs +index 42e54ba..9b420ae 100644 +--- a/compiler/types/Coercion.lhs ++++ b/compiler/types/Coercion.lhs +@@ -498,8 +498,7 @@ splitForAllCo_maybe _ = Nothing + coVarKind :: CoVar -> (Type,Type) + coVarKind cv + | Just (tc, [_kind,ty1,ty2]) <- splitTyConApp_maybe (varType cv) +- = ASSERT (tc `hasKey` eqPrimTyConKey) +- (ty1,ty2) ++ = ASSERT (tc `hasKey` eqPrimTyConKey) (ty1,ty2) + | otherwise = panic "coVarKind, non coercion variable" + + -- | Makes a coercion type from two types: the types whose equality |