X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2Fparser%2FParserCore.y;h=8cfafae9ba5804534a91e62f184fd2d5ec4ab73e;hp=0f2bb97a1c9ac944b55bb9673bd061915c1cc79f;hb=4da6b4667527241d7e227de51adb1dc0997bab90;hpb=432b9c9322181a3644083e3c19b7e240d90659e7 diff --git a/compiler/parser/ParserCore.y b/compiler/parser/ParserCore.y index 0f2bb97..8cfafae 100644 --- a/compiler/parser/ParserCore.y +++ b/compiler/parser/ParserCore.y @@ -1,5 +1,13 @@ { -{-# 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 @@ -16,8 +24,9 @@ import RdrName import OccName import Type ( Kind, liftedTypeKindTyCon, openTypeKindTyCon, unliftedTypeKindTyCon, - argTypeKindTyCon, ubxTupleKindTyCon, mkArrowKind, mkTyConApp + argTypeKindTyCon, ubxTupleKindTyCon, mkTyConApp ) +import Coercion( mkArrowKind ) import Name( Name, nameOccName, nameModule, mkExternalName ) import Module import ParserCoreUtils @@ -29,7 +38,7 @@ import TysPrim( wordPrimTyCon, intPrimTyCon, charPrimTyCon, import TyCon ( TyCon, tyConName ) import FastString import Outputable -import Char +import Data.Char import Unique #include "../HsVersions.h" @@ -269,13 +278,14 @@ exp :: { IfaceExpr } | '%case' '(' ty ')' aexp '%of' id_bndr '{' alts1 '}' { IfaceCase $5 (fst $7) $3 $9 } | '%cast' aexp aty { IfaceCast $2 $3 } - | '%note' STRING exp - { case $2 of - --"SCC" -> IfaceNote (IfaceSCC "scc") $3 - "InlineMe" -> IfaceNote IfaceInlineMe $3 - } +-- No InlineMe any more +-- | '%note' STRING exp +-- { case $2 of +-- --"SCC" -> IfaceNote (IfaceSCC "scc") $3 +-- "InlineMe" -> IfaceNote IfaceInlineMe $3 +-- } | '%external' STRING aty { IfaceFCall (ForeignCall.CCall - (CCallSpec (StaticTarget (mkFastString $2)) + (CCallSpec (StaticTarget (mkFastString $2) Nothing) CCallConv (PlaySafe False))) $3 }