tree c66f38c3f12bfc6e0905bfc600a581c08531d8c6
parent d06d43a9e8cb5db84e6ee3557b6244e14a291def
author Asher Mancinelli <ashermancinelli@gmail.com> 1746734888 -0700
committer GitHub <noreply@github.com> 1746734888 -0700
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJoHQ8oCRC1aQ7uu5UhlAAA+wEQAFKfUZBQ3eRFC6qZwD4i5mix
 sVjIC/6lqRHSM69XACNUbd3PU6WCJG1uBnqtRrOMUXaXE8/jTW7HUtnsKF1+ZJuU
 302StPswdqmvXyjzcVQ+fzqHVUydcPdyF7wiKSy1NeCLLbHr4oY/5zz/ARLcRnG2
 XZD9P4pe3tBYLLZ5DJoBIKNGuEcIygUhNiwacN4BXLCH8qwzXf1j4JN0JXbqOwdt
 PT0yiITfV8hF1YEw/o/Rn9IpvgMjWptBJuha8O9rmd3uQRR3SZNeOeLfiZyqKqNp
 3IvahfMGnNQ4/ias/fA4prMrEgtZMCvT1hvFR4xCTDUiA1sdQmQpwLtn6QFsMziw
 63eqTnVMyLjZvGV3DVs85gur2GjRx1HjeFAKuGohdhIv6P2stsos53g6yj+R8mLH
 3RWu8nxsSodRI56Ke3q2a0QgCZEapeJmzS71JKtOo//jqH/mFyk3p8fD8J/plkj4
 esJL5vTUiddh5zJeK/WXhFgTA+YFyi91eFCDbtIp/Oape08DFc7F04jiABAvcx/8
 ISR6RGHpx8DZMhetDSwz+MfQ8BLBJcz3CYYlZVHwtfUJtzwRfBOJ3kTy7uUli7LS
 A1njPut9LeubRY/z00FGj3gogev8WnYGNDaJSxoO0gyaxVjTn1u6rGUx2xFoRroY
 jNclDfR4eneNisLNUq/5
 =4Xra
 -----END PGP SIGNATURE-----
 

[flang] Use box for components with non-default lower bounds (#138994)

When designating an array component that has non-default lower bounds
the bridge was producing hlfir designates yielding reference types,
which did not preserve the bounds information. Then, when creating
components, unadjusted indices were used when initializing the
structure.

We could look at the declaration to get the shape parameter, but this
would not be preserved if the component were passed as a block argument.
These results must be boxed, but we also must not lose the contiguity
information either. To address contiguity, annotate these boxes with the
`contiguous` attribute during designation.

Note that other designated entities are handled inside the
HlfirDesignatorBuilder while component designators are built in
HlfirBuilder. I am not sure if this handling should be moved into the
designator builder or left in the general builder, so feedback is
welcome.

Also, I wouldn't mind finding a test that demonstrates a box-designated
component with the contiguous attribute really is determined to be
contiguous by any passes down the line checking for that. I don't have a
test like that yet.