aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPiotr Trojanek <trojanek@adacore.com>2020-09-08 23:04:13 +0200
committerPierre-Marie de Rodat <derodat@adacore.com>2020-10-26 04:58:51 -0400
commit3b01ce303bf507adcfd320a63a7692e487b4d090 (patch)
treed71efe4587cc88e84d4ba839ee632afb25f9b1b3
parenta7d153ab8471bde05a9883d4cda9319ff89ea14b (diff)
downloadgcc-3b01ce303bf507adcfd320a63a7692e487b4d090.zip
gcc-3b01ce303bf507adcfd320a63a7692e487b4d090.tar.gz
gcc-3b01ce303bf507adcfd320a63a7692e487b4d090.tar.bz2
[Ada] Handle subtype_indication in 'Update for arrays
gcc/ada/ * exp_attr.adb (Expand_Update_Attribute): Handle subtype_indication just like in Expand_Delta_Array_Aggregate.
-rw-r--r--gcc/ada/exp_attr.adb3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/ada/exp_attr.adb b/gcc/ada/exp_attr.adb
index d3468d5..f95c682 100644
--- a/gcc/ada/exp_attr.adb
+++ b/gcc/ada/exp_attr.adb
@@ -8164,6 +8164,9 @@ package body Exp_Attr is
while Present (Comp) loop
if Nkind (Comp) = N_Range then
Process_Range_Update (Temp, Comp, Expr, Typ);
+ elsif Nkind (Comp) = N_Subtype_Indication then
+ Process_Range_Update
+ (Temp, Range_Expression (Constraint (Comp)), Expr, Typ);
else
Process_Component_Or_Element_Update (Temp, Comp, Expr, Typ);
end if;