https://gcc.gnu.org/g:e730d52a9459d1112e888858c7286aab0e358fac

commit r15-543-ge730d52a9459d1112e888858c7286aab0e358fac
Author: Steve Baird <ba...@adacore.com>
Date:   Thu Feb 15 15:13:12 2024 -0800

    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:
---
 gcc/ada/sem_util.adb | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb
index 1785931530f8..68e131db6062 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;

Reply via email to