This is an archive of the discontinued LLVM Phabricator instance.

[flang] Always diagnose incompatible function results when associating function pointers
ClosedPublic

Authored by klausler on Oct 28 2022, 10:35 AM.

Details

Summary

There are some exceptional cases where the compiler permits association of
procedure pointers or dummy arguments with slightly incompatible procedure
targets, but they should not override any incompatibilty of function
result types.

(Includes a second fix to resolve the original motivating test failure, in
which a COMPLEX intrinsic function was getting its result kind divided by
two due to an implicit C++ conversion of the kind to a "*kind" parse tree
node, and those legacy "COMPLEX*size" type designators' values are twice
the type kind value.)

Diff Detail

Event Timeline

klausler created this revision.Oct 28 2022, 10:35 AM
Herald added a project: Restricted Project. · View Herald TranscriptOct 28 2022, 10:35 AM
Herald added a subscriber: jdoerfert. · View Herald Transcript
klausler requested review of this revision.Oct 28 2022, 10:35 AM
klausler updated this revision to Diff 471602.Oct 28 2022, 11:11 AM

Resolve merge difference in test.

This revision is now accepted and ready to land.Oct 31 2022, 2:22 AM