diff options
author | Piotr Trojanek <trojanek@adacore.com> | 2024-07-16 16:07:59 +0200 |
---|---|---|
committer | Marc Poulhiès <dkm@gcc.gnu.org> | 2024-08-02 09:08:10 +0200 |
commit | d8a27bb9a7d932b3a3f8b1ffc9e156f698d08aee (patch) | |
tree | 018e87d7d72cdd9f54f5f411f62f006da42a851a /gcc/c/c-decl.cc | |
parent | 637b27b98076d8857aa62655bbb815a39f8f68bc (diff) | |
download | gcc-d8a27bb9a7d932b3a3f8b1ffc9e156f698d08aee.zip gcc-d8a27bb9a7d932b3a3f8b1ffc9e156f698d08aee.tar.gz gcc-d8a27bb9a7d932b3a3f8b1ffc9e156f698d08aee.tar.bz2 |
ada: Fix handling of iterated component associations with sub-aggregates
Fix a number of problems in handling of actions generated for a
2-dimensional array aggregate where the outer aggregate has iterated
component association and the inner aggregate involves run-time checks.
gcc/ada/
* exp_aggr.adb (Add_Loop_Actions): Actions are now attached to
iterated component association just like they are attached to
ordinary component association.
(Build_Array_Aggr_Code): If resolution of the array aggregate
generated some actions, e.g. for run-time checks, then we must
keep them; same for the Other_Clause.
* sem_aggr.adb (Resolve_Iterated_Component_Association): Unset
references to iterator variable in loop actions (which might come
from run-time check), just these references are unset in the
expression itself.
Diffstat (limited to 'gcc/c/c-decl.cc')
0 files changed, 0 insertions, 0 deletions