This is an archive of the discontinued LLVM Phabricator instance.

[flang] Refine WhyNotModifiable()
ClosedPublic

Authored by klausler on Jan 15 2021, 5:01 PM.

Details

Summary

The utility routine WhyNotModifiable() needed to become more
aware of the use of pointers in data-refs; the targets of
pointer components are sometimes modifiable even when the
leftmost ("base") symbol of a data-ref is not.

Added a new unit test for WhyNotModifiable() that uses internal
READ statements (mostly), since I/O semantic checking uses
WhyNotModifiable() for all its definability checking.

Diff Detail

Event Timeline

klausler created this revision.Jan 15 2021, 5:01 PM
klausler requested review of this revision.Jan 15 2021, 5:01 PM
Herald added a project: Restricted Project. · View Herald TranscriptJan 15 2021, 5:01 PM
PeteSteinfeld accepted this revision.Jan 15 2021, 7:40 PM

All builds, tests, and looks good.

This revision is now accepted and ready to land.Jan 15 2021, 7:40 PM
This revision was automatically updated to reflect the committed changes.