From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com [IPv6:2a00:1450:4864:20::432]) by sourceware.org (Postfix) with ESMTPS id F379A385AFA4 for ; Tue, 18 Jul 2023 13:13:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org F379A385AFA4 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=adacore.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=adacore.com Received: by mail-wr1-x432.google.com with SMTP id ffacd0b85a97d-3110ab7110aso5933624f8f.3 for ; Tue, 18 Jul 2023 06:13:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=adacore.com; s=google; t=1689686019; x=1690290819; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=e4n3tod+0sEpW8d/xG8lb5g/VEey4xz23y6v/vL4sGQ=; b=A3SBjIOAAqHtqloIzHOXH5kH7hh/rXE49a9HswUKx0qeR0OKeOEEHdTXO6mZDBeDUB tSeMomhTE4W5uaq2dQpyh32PzTPoTEzdTvCH+sHUGR8A9m9QP8ycmE2Co1dfn7Chqc9t +a/8jYMMlVjQ1r9h5Bz12cEB197qAGQaBnHD5pADDx/Ss+rxem/p7mwg74gMK0olI8Ti OYv5LrIdizdtu8u5F8XTxUcAAk0m2X9fG8/O75LSKUuQaTC+2t3ONdXHCCWgKVREFr5d 89mBIofbN36HWh0o/8TxExyu6U1pZoLce25zp4mvv1VR1JDfiKHD/XUYkzPDIq5O+eEP k5pw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1689686019; x=1690290819; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=e4n3tod+0sEpW8d/xG8lb5g/VEey4xz23y6v/vL4sGQ=; b=AKc8vTneRZZ7AtDi0X9SRsfnNGhd+faEk3B2rTL+qI83ptYLeVplhQph6xtt8rFIsQ gRATd2wdoH5QGkMPhmLDReNxJjHxJsvlmG1gNB/8V1Ujt9ccwcQA78pfhSk07KAZTYl8 5CGKOW3RENF5ar2m/vAVZbcRtTqnpmc4jpTF6MYvyPSt6kjVxsY1RG9nimhzj/JZIj/0 GcMtVMy9qHdLRnKEkfaH3zgS6sqmgjuWje+HQf8F4Hgg9VYzkfoDG0UASbPEJKXbFzph CuQd7uD92PZ2iXpuIpMj+W8kUM49xI1lCX4HoPkG3b/JXEK0V95jwab6pNHyT/2P9tvo /5Dg== X-Gm-Message-State: ABy/qLavbFp0rLT9XKuEoKDHImlpke9DO/vviOErBtCCWlB/ld074ZJ3 suZ0frUawEXx6diXPpobCOCju9GQOFLalYBao6rq5A== X-Google-Smtp-Source: APBJJlGq+OIj5M2/5ELBHKZS0beH2r36YTroXEcK8a+uuZ5Oo9REU93OaGrJ7gnAx4IL4KNk0WVHkA== X-Received: by 2002:a5d:60c6:0:b0:315:9de4:92f0 with SMTP id x6-20020a5d60c6000000b003159de492f0mr12703299wrt.5.1689686019743; Tue, 18 Jul 2023 06:13:39 -0700 (PDT) Received: from poulhies-Precision-5550.telnowedge.local (lmontsouris-659-1-24-67.w81-250.abo.wanadoo.fr. [81.250.175.67]) by smtp.gmail.com with ESMTPSA id l18-20020adffe92000000b0031433d8af0dsm2410494wrr.18.2023.07.18.06.13.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Jul 2023 06:13:39 -0700 (PDT) From: =?UTF-8?q?Marc=20Poulhi=C3=A8s?= To: gcc-patches@gcc.gnu.org Cc: Viljar Indus Subject: [COMMITTED] ada: Fix expanding container aggregates with Iterator specification Date: Tue, 18 Jul 2023 15:13:38 +0200 Message-Id: <20230718131338.81390-1-poulhies@adacore.com> X-Mailer: git-send-email 2.40.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-13.7 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: From: Viljar Indus The compiler should use unnamed addition methods such as Append when expanding a container aggregate with Iterator Specification. gcc/ada/ * exp_aggr.adb (Expand_Container_Aggregate): Use the positional addition method only when dealing with a container aggregate without an Iterator Specification e.g. with a loop parameter specification Tested on x86_64-pc-linux-gnu, committed on master. --- gcc/ada/exp_aggr.adb | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gcc/ada/exp_aggr.adb b/gcc/ada/exp_aggr.adb index 4c8dcae9d83..dffc5ab721d 100644 --- a/gcc/ada/exp_aggr.adb +++ b/gcc/ada/exp_aggr.adb @@ -7259,8 +7259,11 @@ package body Exp_Aggr is -- Iterated component association. Discard -- positional insertion procedure. - Add_Named_Subp := Assign_Indexed_Subp; - Add_Unnamed_Subp := Empty; + if not Present (Iterator_Specification (Comp)) then + Add_Named_Subp := Assign_Indexed_Subp; + Add_Unnamed_Subp := Empty; + end if; + Expand_Iterated_Component (Comp); end if; -- 2.40.0