aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Baird <baird@adacore.com>2024-02-15 15:13:12 -0800
committerMarc Poulhiès <poulhies@adacore.com>2024-05-16 10:49:27 +0200
commite730d52a9459d1112e888858c7286aab0e358fac (patch)
treea8978f16706baf8edfb81da987f5b6284f129112
parent8b73cb99bbd02db85d213c7120dbaa366c360e45 (diff)
downloadgcc-e730d52a9459d1112e888858c7286aab0e358fac.zip
gcc-e730d52a9459d1112e888858c7286aab0e358fac.tar.gz
gcc-e730d52a9459d1112e888858c7286aab0e358fac.tar.bz2
ada: Fix bug in maintaining dimension info
Copying a node does not automatically propagate its associated dimension information (if any). This must be done explicitly. gcc/ada/ * sem_util.adb (Copy_Node_With_Replacement): Add call to Copy_Dimensions so that any dimension information associated with the copied node is also associated with the resulting copy.
-rw-r--r--gcc/ada/sem_util.adb3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb
index 1785931..68e131d 100644
--- a/gcc/ada/sem_util.adb
+++ b/gcc/ada/sem_util.adb
@@ -53,6 +53,7 @@ with Sem_Cat; use Sem_Cat;
with Sem_Ch6; use Sem_Ch6;
with Sem_Ch8; use Sem_Ch8;
with Sem_Ch13; use Sem_Ch13;
+with Sem_Dim; use Sem_Dim;
with Sem_Disp; use Sem_Disp;
with Sem_Elab; use Sem_Elab;
with Sem_Eval; use Sem_Eval;
@@ -23447,6 +23448,8 @@ package body Sem_Util is
Set_Chars (Result, Chars (Entity (Result)));
end if;
end if;
+
+ Copy_Dimensions (From => N, To => Result);
end if;
return Result;