[flang] Respect function vs subroutine distinction in generic matching
authorPeter Klausler <pklausler@nvidia.com>
Sun, 6 Nov 2022 19:37:12 +0000 (11:37 -0800)
committerPeter Klausler <pklausler@nvidia.com>
Sat, 3 Dec 2022 15:53:04 +0000 (07:53 -0800)
commit2f999cce195946b66f968d50e38b06e6a1f60b8e
treeecbbd6e218cdb3c5e1f6ca47dfb66ae670fe85ca
parent4178671b2ed3d8c1ffec6f723808e22572601242
[flang] Respect function vs subroutine distinction in generic matching

When checking the specific procedures of a generic interface for a
match against a given set of actual arguments, be sure to not match
a function against a subroutine call or vice versa.  (We generally
catch and warn about attempts to declare mixed interfaces, but they
are usually conforming and can be inadvertently created when generics
are merged due to USE and host association.)

Differential Revision: https://reviews.llvm.org/D139059
flang/docs/Extensions.md
flang/include/flang/Semantics/expression.h
flang/lib/Semantics/expression.cpp
flang/lib/Semantics/resolve-names.cpp
flang/test/Semantics/generic03.f90 [new file with mode: 0644]
flang/test/Semantics/resolve62.f90
flang/test/Semantics/resolve68.f90
flang/test/Semantics/resolve77.f90