[flang] Fix LBOUND with assumed size array and non constant DIM
LBOUND with a non constant DIM argument use the runtime to allow runtime verification of DIM <= RANK. The interface uses a descriptor. This caused undefined behavior because the runtime believed it was seeing an explicit shape arrays with zero extent and returned `1` (the runtime descriptor does not allow making a difference between an explicit shape and an assumed size. Assumed size are not meant to be described by runtime descriptors). Fix the issue by setting the last extent of assumed size to `1` when creating the descriptor to inquire about the LBOUND with the runtime. This patch is part of the upstreaming effort from fir-dev branch. Reviewed By: PeteSteinfeld Differential Revision: https://reviews.llvm.org/D128509 Co-authored-by:Jean Perier <jperier@nvidia.com>
Loading
Please sign in to comment