https://gcc.gnu.org/g:78b8a597316490105995f636f00c972235ac6237

commit r15-6196-g78b8a597316490105995f636f00c972235ac6237
Author: Eric Botcazou <ebotca...@adacore.com>
Date:   Fri Nov 29 09:04:09 2024 +0100

    ada: Remove last call to Preanalyze_And_Resolve from Exp_Aggr
    
    All the expressions are now at least preanalyzed in a non-iterated context,
    so we do not need to redo it in Aggr_Assignment_OK_For_Backend, given that
    Is_OK_Aggregate explicitly rejects iterated component associations.
    
    gcc/ada/ChangeLog:
    
            * exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Do not call again
            Preanalyze_And_Resolve on the expression.

Diff:
---
 gcc/ada/exp_aggr.adb | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/gcc/ada/exp_aggr.adb b/gcc/ada/exp_aggr.adb
index c93554347ad2..c0218c9e3dcc 100644
--- a/gcc/ada/exp_aggr.adb
+++ b/gcc/ada/exp_aggr.adb
@@ -534,10 +534,7 @@ package body Exp_Aggr is
       end if;
 
       --  If the expression has side effects (e.g. contains calls with
-      --  potential side effects) reject as well. We only preanalyze the
-      --  expression to prevent the removal of intended side effects.
-
-      Preanalyze_And_Resolve (Expr, Ctyp);
+      --  potential side effects), then reject it as well.
 
       if not Side_Effect_Free (Expr) then
          return False;

Reply via email to