summary refs log tree commit diff
path: root/pkgs/development/compilers/ghc/fix-7.4.2-clang.patch
diff options
context:
space:
mode:
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.patch57
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?