Work around missing type signature in Happy
[ghc-hetmet.git] / compiler / cmm / CmmParse.y
index 0ae88e2..ad388e5 100644 (file)
@@ -9,7 +9,15 @@
 -----------------------------------------------------------------------------
 
 {
-{-# OPTIONS -Wwarn -w #-}
+{-# OPTIONS -Wwarn -w -XNoMonomorphismRestriction #-}
+-- The NoMonomorphismRestriction deals with a Happy infelicity
+--    With OutsideIn's more conservativ monomorphism restriction
+--    we aren't generalising
+--        notHappyAtAll = error "urk"
+--    which is terrible.  Switching off the restriction allows
+--    the generalisation.  Better would be to make Happy generate
+--    an appropriate signature.
+--
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and fix
 -- any warnings in the module. See
@@ -1033,7 +1041,7 @@ parseCmmFile dflags filename = do
   buf <- hGetStringBuffer filename
   let
        init_loc = mkSrcLoc (mkFastString filename) 1 1
-       init_state = (mkPState buf init_loc dflags) { lex_state = [0] }
+       init_state = (mkPState dflags buf init_loc) { lex_state = [0] }
                -- reset the lex_state: the Lexer monad leaves some stuff
                -- in there we don't want.
   case unP cmmParse init_state of