[flang] Fix checking of argument passing for parameterized derived types
We were erroneously not taking into account the constant values of LEN type parameters of parameterized derived types when checking for argument compatibility. The required checks are identical to those for assignment compatibility. Since argument compatibility is checked in .../lib/Evaluate and assignment compatibility is checked in .../lib/Semantics, I moved the common code into .../lib/Evaluate/tools.cpp and changed the assignment compatibility checking code to call it. After implementing these new checks, tests in resolve53.f90 were failing because the tests were erroneous. I fixed these tests and added new tests to call03.f90 to test argument passing of parameterized derived types more completely. Differential Revision: https://reviews.llvm.org/D100989
Loading
Please sign in to comment