This is an archive of the discontinued LLVM Phabricator instance.

[flang] Nonconformant assigned gotos
ClosedPublic

Authored by vdonaldson on Apr 5 2023, 11:51 AM.

Details

Summary

Modify code generation for assigned GOTOs to generate a runtime error
for most cases that violate F90 Clause 8.2.4, rather than treating a
nonconformant GOTO as a nop. For example, generate a runtime error for
a GOTO that attempts to branch to a label for a FORMAT statement.
Relax the requirement that an assigned GOTO with a label list must
branch to a label in the list, and instead allow a branch to any valid
assigned GOTO target in scope.

Diff Detail

Event Timeline

vdonaldson created this revision.Apr 5 2023, 11:51 AM
vdonaldson requested review of this revision.Apr 5 2023, 11:51 AM
PeteSteinfeld accepted this revision.Apr 5 2023, 1:19 PM

All builds and tests correctly and looks good.

This revision is now accepted and ready to land.Apr 5 2023, 1:19 PM