aboutsummaryrefslogtreecommitdiff
path: root/gcc/range-op-float.cc
diff options
context:
space:
mode:
authorPiotr Trojanek <trojanek@adacore.com>2023-05-03 15:26:23 +0200
committerMarc Poulhiès <poulhies@adacore.com>2023-06-13 09:31:46 +0200
commitf34b31156d2868775c698db0ffa68bccadb685fb (patch)
treed238818746ea24b89ee46335af1950cc211ad98f /gcc/range-op-float.cc
parentd38366cbaedee32faba1664a8f529875f1128ae5 (diff)
downloadgcc-f34b31156d2868775c698db0ffa68bccadb685fb.zip
gcc-f34b31156d2868775c698db0ffa68bccadb685fb.tar.gz
gcc-f34b31156d2868775c698db0ffa68bccadb685fb.tar.bz2
ada: Fix decoration of iterated component association for GNATprove
This patch is an alternative solution for a recent fix in analysis of iterated component association. To recap, if the iterated expression is an aggregate, we want to propagate the component type downward with a call to Resolve_Aggr_Expr; otherwise we want this expression to be only preanalysed (since the association might need to be repeatedly evaluated), but also we need to apply predicate and range checks to the expression itself (these are required for GNATprove). It turns out that Resolve_Aggr_Expr already knows how to deal with a nested aggregate and also works for GNATprove, where it both preanalyzes the expression and applies necessary checks. In other words, expression of the iterated component association is now resolved just like expression of an ordinary array aggregate. gcc/ada/ * sem_aggr.adb (Resolve_Iterated_Component_Association): Simply resolve the expression.
Diffstat (limited to 'gcc/range-op-float.cc')
0 files changed, 0 insertions, 0 deletions