summaryrefslogtreecommitdiff
path: root/compiler
diff options
context:
space:
mode:
Diffstat (limited to 'compiler')
-rw-r--r--compiler/Makefile4
-rw-r--r--compiler/typecheck/TcTyClsDecls.lhs4
2 files changed, 8 insertions, 0 deletions
diff --git a/compiler/Makefile b/compiler/Makefile
index 5cce4bc4dc..ce69bae2f2 100644
--- a/compiler/Makefile
+++ b/compiler/Makefile
@@ -685,6 +685,10 @@ parser/Lexer_HC_OPTS += -funbox-strict-fields
# prototype via a global option instead of a myriad of per-file OPTIONS
SRC_HC_OPTS += '-\#include "cutils.h"'
+ifeq "$(ghc_ge_605)" "NO"
+utils/LazyUniqFM_HC_OPTS += -fallow-undecidable-instances
+endif
+
# ----------------------------------------------------------------------------
# Generate supporting stuff for prelude/PrimOp.lhs
# from prelude/primops.txt
diff --git a/compiler/typecheck/TcTyClsDecls.lhs b/compiler/typecheck/TcTyClsDecls.lhs
index fa10fbf203..635fef9da8 100644
--- a/compiler/typecheck/TcTyClsDecls.lhs
+++ b/compiler/typecheck/TcTyClsDecls.lhs
@@ -224,6 +224,10 @@ mkGlobalThings decls things
= (name, AClass cl)
mk_thing (L _ decl, ~(ATyCon tc))
= (tcdName decl, ATyCon tc)
+#if __GLASGOW_HASKELL__ < 605
+-- Old GHCs don't understand that ~... matches anything
+ mk_thing _ = panic "mkGlobalThings: Can't happen"
+#endif
\end{code}