From patchwork Tue Dec 6 14:02:24 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Marc_Poulhi=C3=A8s?= X-Patchwork-Id: 61564 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 E97C63839D3A for ; Tue, 6 Dec 2022 14:02:57 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E97C63839D3A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1670335377; bh=y67omS5pv+wFe/4Hkd6TIkwv2NJdbc+VxWv0uOp2HGs=; h=To:Cc:Subject:Date:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:List-Subscribe:From:Reply-To:From; b=htdAfwpmFn5fS3IWY9f+MZSjwWmJChFElnxGyGGpkojo+KqAXUjQNtkkktKIa0FHe nKlxv1FXCjNSaPJ3WQmChkSC89g5Xj58XDacT2T4Mh8OWLqfUpN0xwXHmZzhbEBRr2 BCO1YL+sqxvgt8NK8jlkPx4JXko2YFJkz/AMBTVw= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mail-wr1-x434.google.com (mail-wr1-x434.google.com [IPv6:2a00:1450:4864:20::434]) by sourceware.org (Postfix) with ESMTPS id 63943383B6D7 for ; Tue, 6 Dec 2022 14:02:27 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 63943383B6D7 Received: by mail-wr1-x434.google.com with SMTP id q7so23598738wrr.8 for ; Tue, 06 Dec 2022 06:02:27 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=y67omS5pv+wFe/4Hkd6TIkwv2NJdbc+VxWv0uOp2HGs=; b=KIcKseaDYwB3qMOLHdMdJioL8SfRW90XPWlbnNzBDzTxeSm6HjO1f2SPdIhg17TByn CSP0IZ1pZ+YhGHY9YxjXoJCQtcFw0vIzJsrVSv6KBsOMGuTraC1JogPdJqL0NtR/Ag6m J+LAEKAZA4vZe0wmjt94WxdfIf4spCra0662LJHISZhh9fu7VJ/HDufXzzRrSqqB2M9P SjffdVRvSRrCZp3Tf0TFMkLJ8/aDR+ux/JdlL0DqL7N/RgZ4MYm9IewSXk1jdVKZQwwb dBiXo5BwmzIzp6SdD/EDHgfU3UqnK7s86Jfg18OH4QqShZaE0UeWCpzRtcQ9/eqUSqC6 xkCQ== X-Gm-Message-State: ANoB5plfkABbtufk5GttmlGq2TpCxlaDoFeSPai/v5gBYuV+EC/B9MFS T9CI+dJtNTCg7cTM/R3vqnOa3tYGLtR7OhLi X-Google-Smtp-Source: AA0mqf6t9JC93rBtA1cDavXvW0EoaGzr4OReTUjw8RQigD+8V8qI1AGDv+ENcysqDysMNJVsxNhQAQ== X-Received: by 2002:a5d:5e89:0:b0:242:739d:7f85 with SMTP id ck9-20020a5d5e89000000b00242739d7f85mr2566409wrb.407.1670335346149; Tue, 06 Dec 2022 06:02:26 -0800 (PST) Received: from poulhies-Precision-5550.lan (static-176-191-105-132.ftth.abo.bbox.fr. [176.191.105.132]) by smtp.gmail.com with ESMTPSA id g6-20020a05600c4ec600b003b49bd61b19sm28755507wmq.15.2022.12.06.06.02.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 06 Dec 2022 06:02:25 -0800 (PST) To: gcc-patches@gcc.gnu.org Cc: Javier Miranda Subject: [COMMITTED] ada: Spurious error on nested call using the prefix notation Date: Tue, 6 Dec 2022 15:02:24 +0100 Message-Id: <20221206140224.717457-1-poulhies@adacore.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-Spam-Status: No, score=-13.6 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 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: =?utf-8?q?Marc_Poulhi=C3=A8s_via_Gcc-patches?= From: =?utf-8?q?Marc_Poulhi=C3=A8s?= Reply-To: =?utf-8?q?Marc_Poulhi=C3=A8s?= Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org Sender: "Gcc-patches" From: Javier Miranda gcc/ada/ * exp_ch6.adb (Build_Static_Check_Helper_Call): Perform implicit type conversion to ensure matching types and avoid reporting spurious errors. Tested on x86_64-pc-linux-gnu, committed on master. --- gcc/ada/exp_ch6.adb | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gcc/ada/exp_ch6.adb b/gcc/ada/exp_ch6.adb index 7555bf5dcf5..c026b63fcf6 100644 --- a/gcc/ada/exp_ch6.adb +++ b/gcc/ada/exp_ch6.adb @@ -7552,9 +7552,10 @@ package body Exp_Ch6 is Remove_Side_Effects (A); - if Is_Controlling_Actual (A) - and then Etype (F) /= Etype (A) - then + -- Ensure matching types to avoid reporting spurious errors since + -- the called helper may have been built for a parent type. + + if Etype (F) /= Etype (A) then Append_To (Actuals, Unchecked_Convert_To (Etype (F), New_Copy_Tree (A))); else