From: Steve Baird Date: Thu, 15 Feb 2024 23:13:12 +0000 (-0800) Subject: ada: Fix bug in maintaining dimension info X-Git-Tag: basepoints/gcc-16~9010 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e730d52a9459d1112e888858c7286aab0e358fac;p=thirdparty%2Fgcc.git 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. --- diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb index 1785931530f..68e131db606 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;