mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-24 10:06:07 +00:00

Folding of LBOUND/UBOUND on assumed-rank arrays could lead to bogus errors later. This is a regression from a recent change intended to ensure that patently bad DIM= arguments were caught even in the case of assumed-rank. Rearrange the order of checks so that those bad DIM= argument values are caught but otherwise defer LBOUND/UBOUND of assumed-rank arguments to run time. (It was tempting to always fold LBOUND(ar,DIM=n) to 1, but that would obscure the run time error required when 'n' is out of bounds, including the case of a scalar 'ar'.) Differential Revision: https://reviews.llvm.org/D156755