This is an archive of the discontinued LLVM Phabricator instance.

[flang] Improve error recovery for bad/missing construct END statements
ClosedPublic

Authored by klausler on Oct 27 2022, 4:02 PM.

Details

Summary

When a multi-statement construct should end with a particular END statement
like "END SELECT", and that construct's END statement is missing or
unrecognizable, the error recovery productions should not misinterpret
a program unit END statement that follows and consume it as a misspelled
construct END statement. Doing so leads to cascading errors or a failed parse.

Diff Detail

Event Timeline

klausler created this revision.Oct 27 2022, 4:02 PM
Herald added a project: Restricted Project. · View Herald TranscriptOct 27 2022, 4:02 PM
Herald added a subscriber: jdoerfert. · View Herald Transcript
klausler requested review of this revision.Oct 27 2022, 4:02 PM
vdonaldson accepted this revision.Oct 27 2022, 5:00 PM
This revision is now accepted and ready to land.Oct 27 2022, 5:00 PM