X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fcmm%2FCmmParse.y;h=ad388e582aaa8602bef5d04e2e7e98cbf7192e50;hb=ec064b6d9d43b1655dd24df06d29b5e43940c7d6;hp=0ae88e23363f6933088d1556961924c730997dc4;hpb=7854ec4b11e117f8514553890851d14a66690fbb;p=ghc-hetmet.git diff --git a/compiler/cmm/CmmParse.y b/compiler/cmm/CmmParse.y index 0ae88e2..ad388e5 100644 --- a/compiler/cmm/CmmParse.y +++ b/compiler/cmm/CmmParse.y @@ -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