[flang] RESHAPE(PAD=) can be arbitrary array rank

The "pad=" argument in the intrinsic function table entry for RESHAPE
has a Rank::Array constraint, and that would be fine if not for RESHAPE
already having an earlier argument that's Rank::Array.  It's the only
intrinsic that has multiple Rank::Array arguments.  The checking for
the Rank::Array constraint was enforcing that multiple occurrences
of it have the same rank in a call, and that's not appropriate.

Differential Revision: https://reviews.llvm.org/D117149
This commit is contained in:
Peter Klausler 2021-12-29 12:51:39 -08:00
parent d9b2983ea1
commit aea27c3100
1 changed files with 0 additions and 2 deletions

View File

@ -1496,8 +1496,6 @@ std::optional<SpecificCall> IntrinsicInterface::Match(
if (!arrayArg) {
arrayArg = arg;
arrayArgName = d.keyword;
} else {
argOk &= rank == arrayArg->Rank();
}
break;
case Rank::coarray: