This is an archive of the discontinued LLVM Phabricator instance.

[flang] Allow modification of construct entities
ClosedPublic

Authored by klausler on Apr 13 2022, 1:02 PM.

Details

Summary

Construct entities from ASSOCIATE, SELECT TYPE, and SELECT RANK
are modifiable if the are associated with modifiable variables
without vector subscripts. Update WhyNotModifiable() to accept
construct entities that are appropriate.

A need for more general error reporting from one overload of
WhyNotModifiable() caused its result type to change to
std::optional<parser::Message> instead of ::MessageFixedText,
and this change had some consequences that rippled through
call sites.

Some test results that didn't allow for modifiable construct
entities needed to be updated.

Diff Detail

Event Timeline

klausler created this revision.Apr 13 2022, 1:02 PM
Herald added a project: Restricted Project. · View Herald TranscriptApr 13 2022, 1:02 PM
Herald added a subscriber: jdoerfert. · View Herald Transcript
klausler requested review of this revision.Apr 13 2022, 1:02 PM
This revision is now accepted and ready to land.Apr 14 2022, 5:50 AM
This revision was automatically updated to reflect the committed changes.