[flang] Extension to distinguish specific procedures
authorpeter klausler <pklausler@nvidia.com>
Mon, 18 Oct 2021 17:44:39 +0000 (10:44 -0700)
committerpeter klausler <pklausler@nvidia.com>
Fri, 22 Oct 2021 19:38:21 +0000 (12:38 -0700)
commitc4ba1108dd6065dd3cce5edafcebbb6fe4fb3a0e
tree454e6fda8f6e5244df260395e54e430652bc7490
parent7d962f9ca36533d8eea85b92741b9bc41e35ecf7
[flang] Extension to distinguish specific procedures

Allocatable dummy arguments can be used to distinguish
two specific procedures in a generic interface when
it is the case that exactly one of them is polymorphic
or exactly one of them is unlimited polymorphic.  The
standard requires that an actual argument corresponding
to an (unlimited) polymorphic allocatable dummy argument
must also be an (unlimited) polymorphic allocatable, so an
actual argument that's acceptable to one procedure must
necessarily be a bad match for the other.

Differential Revision: https://reviews.llvm.org/D112237
flang/docs/Extensions.md
flang/include/flang/Common/Fortran-features.h
flang/include/flang/Evaluate/characteristics.h
flang/lib/Evaluate/characteristics.cpp
flang/lib/Semantics/check-declarations.cpp
flang/test/Semantics/resolve53.f90