This is an archive of the discontinued LLVM Phabricator instance.

[flang] Fix error in characteristics check at procedure pointer assignment
ClosedPublic

Authored by ekieri on Nov 7 2021, 12:06 PM.

Details

Summary

If the procedure pointer has an explicit interface, its characteristics must
equal the characteristics of its target, except that the target may be pure or
elemental also when the pointer is not (cf. F2018 10.2.2.4(3)). In the semantics
check for assignment of procedure pointers, the attributes of the procedures
were not checked correctly due to a typo. This caused some illegal
pointer-target-combinations to pass without raising an error. Fix this, and
expand the test case to improve the coverage of procedure pointer assignment
checks.

Diff Detail

Event Timeline

ekieri created this revision.Nov 7 2021, 12:06 PM
Herald added a project: Restricted Project. · View Herald TranscriptNov 7 2021, 12:06 PM
ekieri requested review of this revision.Nov 7 2021, 12:06 PM
Herald added a project: Restricted Project. · View Herald TranscriptNov 7 2021, 12:06 PM
PeteSteinfeld accepted this revision.Nov 8 2021, 5:54 AM

Good catch!

Thanks for doing this.

This revision is now accepted and ready to land.Nov 8 2021, 5:54 AM