This is an archive of the discontinued LLVM Phabricator instance.

[flang] Ensure pointer function results are acceptable variables
ClosedPublic

Authored by klausler on Mar 12 2021, 1:53 PM.

Details

Summary

Fortran permits a reference to a function whose result is a pointer
to be used as a definable variable in any context where a
designator could appear. This patch wrings out remaining bugs
with such usage and adds more testing.

The utility predicate IsProcedurePointer(expr) had a misleading
name which has been corrected to IsProcedurePointerTarget(expr).

Diff Detail

Event Timeline

klausler created this revision.Mar 12 2021, 1:53 PM
klausler requested review of this revision.Mar 12 2021, 1:53 PM
Herald added a project: Restricted Project. · View Herald TranscriptMar 12 2021, 1:53 PM
PeteSteinfeld accepted this revision.Mar 12 2021, 2:48 PM

These changes build and look good. When I run the regression tests, I'm now getting four failures, but I get the same failures on the checked in source. Nothing seems to be related to this change.

This revision is now accepted and ready to land.Mar 12 2021, 2:48 PM
This revision was landed with ongoing or failed builds.Mar 12 2021, 4:05 PM
This revision was automatically updated to reflect the committed changes.