From patchwork Tue May 17 08:27:49 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pierre-Marie de Rodat X-Patchwork-Id: 54082 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 2FED43857831 for ; Tue, 17 May 2022 08:49:43 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2FED43857831 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1652777383; bh=73WLNqmc5MdzmGqM6iUVHoiD45z6UweBEPygKwEE7iY=; h=Date:To:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:Cc:From; b=qQsb4y5FPH0KIReDyq3u2BkSL9IfAbXyoYx2+RPt0sFUGpYVBvs/g96l0VtId0YQ7 z+S1Eu2OgqaTkDln9L2/GsXRFQVkIfxKg4wxdiWgfidsiUuJV3rshne19FEhXZXUcO EeKhHtsLqRJIFjJIs7Zr+ZqGoflgHyKF7Wrs94lg= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mail-wm1-x335.google.com (mail-wm1-x335.google.com [IPv6:2a00:1450:4864:20::335]) by sourceware.org (Postfix) with ESMTPS id 822FA3857419 for ; Tue, 17 May 2022 08:27:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 822FA3857419 Received: by mail-wm1-x335.google.com with SMTP id n6so2279609wms.0 for ; Tue, 17 May 2022 01:27:51 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:mime-version :content-disposition; bh=73WLNqmc5MdzmGqM6iUVHoiD45z6UweBEPygKwEE7iY=; b=vpD1FlyWf3w7j5z1PLN0NeOye0nKSlfd296W0SudjKl2M8N5roNpAe1U3QUBWwiVJD QfpOwvaOC93CZlJ2kj1BwgDAlmnOxfrrXk73ypD9hm7APLti6egkR9NafjQ2pOC2kTZR KH4O2qkX0EiAuEsj5nDp8h6jN+e0HsOeKFypqnZnT/thv6FEuwoW5p+ZvJEDnkAQD3AW 3S53S3G/Zn1PYsVxJpI0co25k8DDvBKhNq+pRKzE5AspXTzTHRR3kzpRsRzj/3ihXOha 4DtWL5tHByQTwke/TKlcpNnkU+lPn7dYbIcjEPMbc+Ubv3C24MjCFjxz+ZITBw3MQto4 Q+KQ== X-Gm-Message-State: AOAM532HzxdONz5jkkjuZ7dPudxnQTOjaw1EaF1CGhr8yiKWoNKvJCyF DpwDki7O8LyLCwHF/AXkvS+1i1zVhV5D8KLW X-Google-Smtp-Source: ABdhPJx2K2Hva2B5IgmPevUmFDu9Dobk148WB4KgmdfXspxGhgSrg/szL+AYWagDcxT8IEvDvdontw== X-Received: by 2002:a05:600c:4144:b0:394:1972:1a73 with SMTP id h4-20020a05600c414400b0039419721a73mr20024032wmm.71.1652776070347; Tue, 17 May 2022 01:27:50 -0700 (PDT) Received: from adacore.com ([45.147.211.82]) by smtp.gmail.com with ESMTPSA id a26-20020a1cf01a000000b003942a244ee6sm1236851wmb.43.2022.05.17.01.27.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 May 2022 01:27:49 -0700 (PDT) Date: Tue, 17 May 2022 08:27:49 +0000 To: gcc-patches@gcc.gnu.org Subject: [Ada] Fix insertion of declaration inside quantified expression Message-ID: <20220517082749.GA1090214@adacore.com> MIME-Version: 1.0 Content-Disposition: inline X-Spam-Status: No, score=-13.3 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 X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Pierre-Marie de Rodat via Gcc-patches From: Pierre-Marie de Rodat Reply-To: Pierre-Marie de Rodat Cc: Yannick Moy Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org Sender: "Gcc-patches" When the evaluation of the subtype_indication for the iterator_specification of a quantified_expression leads to the insertion of a type declaration, this should be done with Insert_Action instead of Insert_Before. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * sem_ch5.adb (Analyze_Iterator_Specification): Use Insert_Action when possibly inside an expression. diff --git a/gcc/ada/sem_ch5.adb b/gcc/ada/sem_ch5.adb --- a/gcc/ada/sem_ch5.adb +++ b/gcc/ada/sem_ch5.adb @@ -2316,7 +2316,7 @@ package body Sem_Ch5 is Defining_Identifier => S, Subtype_Indication => New_Copy_Tree (Subt)); begin - Insert_Before (Parent (Parent (N)), Decl); + Insert_Action (N, Decl); Analyze (Decl); Rewrite (Subt, New_Occurrence_Of (S, Sloc (Subt))); end;