From 2f1681e4818e21653fefe5107accbc418c7d507c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Gr=C3=B6ber?= Date: Sun, 14 Feb 2016 12:24:33 +0100 Subject: [PATCH] Fix DynFlagsTH for GHC 8 --- Language/Haskell/GhcMod/DynFlagsTH.hs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Language/Haskell/GhcMod/DynFlagsTH.hs b/Language/Haskell/GhcMod/DynFlagsTH.hs index 084396b..afb2cc5 100644 --- a/Language/Haskell/GhcMod/DynFlagsTH.hs +++ b/Language/Haskell/GhcMod/DynFlagsTH.hs @@ -27,7 +27,12 @@ import Prelude deriveEqDynFlags :: Q [Dec] -> Q [Dec] deriveEqDynFlags qds = do - ~(TyConI (DataD [] _ [] [ctor] _ )) <- reify ''DynFlags +#if __GLASGOW_HASKELL__ <= 710 + ~(TyConI (DataD [] _ [] [ctor] _ )) +#else + ~(TyConI (DataD [] _ [] _ [ctor] _ )) +#endif + <- reify ''DynFlags let ~(RecC _ fs) = ctor a <- newName "a" @@ -83,7 +88,7 @@ deriveEqDynFlags qds = do |] return $ AppE (AppE eqfn fa) fb -#if __GLASGOW_HASKELL__ >= 710 +#if __GLASGOW_HASKELL__ >= 710 && __GLASGOW_HASKELL__ < 800 "sigOf" -> do eqfn <- [| let eqfn NotSigOf NotSigOf = True eqfn (SigOf a') (SigOf b') = a' == b'