diff --git a/compiler/GHC/Parser.y b/compiler/GHC/Parser.y index 050c696a0a475c9ea3893560d6ac72a641d9f62a..f3f38f3cea8b614eaf149b8be7d3de3d7929bbd0 100644 --- a/compiler/GHC/Parser.y +++ b/compiler/GHC/Parser.y @@ -3444,7 +3444,7 @@ stmts :: { forall b. DisambECP b => PV (Located (OrdList AddEpAnn,[LStmt GhcPs ( [] -> return (sLZ $1 $> ((fst $ unLoc $1) `snocOL` (mj AnnSemi $2),snd $ unLoc $1)) (h:t) -> do { h' <- addTrailingSemiA h (gl $2) - ; return $ sL1 $1 (fst $ unLoc $1,h':t) }} + ; return $ sLZ $1 $> (fst $ unLoc $1,h':t) }} | stmt { $1 >>= \ $1 -> return $ sL1 $1 (nilOL,[$1]) } | {- empty -} { return $ noLoc (nilOL,[]) } diff --git a/testsuite/tests/parser/should_compile/DumpSemis.stderr b/testsuite/tests/parser/should_compile/DumpSemis.stderr index 12af0facf54d57dd49d26142eb5a6d9a3a1f2593..015d64b51af1549f832d01e9da9029fa404f203b 100644 --- a/testsuite/tests/parser/should_compile/DumpSemis.stderr +++ b/testsuite/tests/parser/should_compile/DumpSemis.stderr @@ -856,7 +856,7 @@ (EpaSpan { DumpSemis.hs:22:10-30 }) (AnnList (Just - (EpaSpan { DumpSemis.hs:22:12-25 })) + (EpaSpan { DumpSemis.hs:22:12-28 })) (Just (AddEpAnn AnnOpenC (EpaSpan { DumpSemis.hs:22:10 }))) (Just diff --git a/testsuite/tests/printer/Makefile b/testsuite/tests/printer/Makefile index 8b9e56cbe6d6c2f59fa00f437b5de5d5ed8802c8..de55d7ae6ecbc1e7848950ccb816ff6e0485eccd 100644 --- a/testsuite/tests/printer/Makefile +++ b/testsuite/tests/printer/Makefile @@ -851,3 +851,8 @@ DataDeclShort: Test24749: $(CHECK_PPR) $(LIBDIR) Test24749.hs $(CHECK_EXACT) $(LIBDIR) Test24749.hs + +.PHONY: Test24754 +Test24754: + $(CHECK_PPR) $(LIBDIR) Test24754.hs + $(CHECK_EXACT) $(LIBDIR) Test24754.hs diff --git a/testsuite/tests/printer/Test24754.hs b/testsuite/tests/printer/Test24754.hs new file mode 100644 index 0000000000000000000000000000000000000000..14c02e2a7f2bfcc1f48b431421f36778fcb011cc --- /dev/null +++ b/testsuite/tests/printer/Test24754.hs @@ -0,0 +1,4 @@ +module Test24754 where + +eh1 = try (do return r;) <|> (do + return r) diff --git a/testsuite/tests/printer/all.T b/testsuite/tests/printer/all.T index ce076aaa8744dbcb133c4e5a7810ec76b3ca2e3d..d6ff2ff196f14643c164bf0271f8652b4e0732c5 100644 --- a/testsuite/tests/printer/all.T +++ b/testsuite/tests/printer/all.T @@ -203,3 +203,4 @@ test('MatchPatComments', [ignore_stderr, req_ppr_deps], makefile_test, ['MatchPa test('Test24748', [ignore_stderr, req_ppr_deps], makefile_test, ['Test24748']) test('DataDeclShort', [ignore_stderr, req_ppr_deps], makefile_test, ['DataDeclShort']) test('Test24749', [ignore_stderr, req_ppr_deps], makefile_test, ['Test24749']) +test('Test24754', [ignore_stderr, req_ppr_deps], makefile_test, ['Test24754'])