X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fparser%2FParser.y.pp;h=515c4744224e22b0215f97b9531137730b95c56d;hb=bf1cff988c19adb2937294e41f6d0a0f41f1168d;hp=8d9f9ef895eea3c9841c3bd8c7859346eac3dad1;hpb=e9d950597e5800411fbcfb9fac8a5258fa8e11ce;p=ghc-hetmet.git diff --git a/compiler/parser/Parser.y.pp b/compiler/parser/Parser.y.pp index 8d9f9ef..515c474 100644 --- a/compiler/parser/Parser.y.pp +++ b/compiler/parser/Parser.y.pp @@ -1221,8 +1221,9 @@ decl :: { Located (OrdList (LHsDecl RdrName)) } return (LL $ unitOL $ LL $ ValD ( PatBind (LL $ BangPat pat) (unLoc $3) placeHolderType placeHolderNames)) } } - | infixexp opt_sig rhs {% do { r <- checkValDef $1 $2 $3; - return (LL $! (unitOL $! (LL $ ValD r))) } } + | infixexp opt_sig rhs {% do { r <- checkValDef $1 $2 $3; + let { l = comb2 $1 $> }; + return $! (sL l (unitOL $! (sL l $ ValD r))) } } | docdecl { LL $ unitOL $1 } rhs :: { Located (GRHSs RdrName) } @@ -1977,7 +1978,7 @@ comb4 a b c d = combineSrcSpans (getLoc a) $ combineSrcSpans (getLoc b) $ -- strict constructor version: {-# INLINE sL #-} sL :: SrcSpan -> a -> Located a -sL span a = span `seq` L span a +sL span a = span `seq` a `seq` L span a -- Make a source location for the file. We're a bit lazy here and just -- make a point SrcSpan at line 1, column 0. Strictly speaking we should