From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr1-x436.google.com (mail-wr1-x436.google.com [IPv6:2a00:1450:4864:20::436]) by sourceware.org (Postfix) with ESMTPS id AF5C8385840A for ; Mon, 7 Nov 2022 08:40:25 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org AF5C8385840A 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-x436.google.com with SMTP id z14so15046326wrn.7 for ; Mon, 07 Nov 2022 00:40:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=adacore.com; s=google; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=O7fmY6RXm4C3n42bEk4CqGJw8pxNcFIs2D00d871Vio=; b=a8KYnrEVKJWLuUmHX+FVlws4vUmU/gguZjVHVS0Ecg9zBNWKYqlU25lrtSj4JBdZ8b /nn7Z8oj/XI56shgi0wWCqr2mPHmWK43JXbz2WgWnOirBMZUvQlEF5sbknjXwzndNpL7 iKBFV2YRThhaA22typZuY58wteIZcNmLUZ0yGev3qH5ky7sDwu0XnqmxjhRQDxf4S9aC 3/5NEhTh6fxoIvmmRTuInSGnmheGHj9w/kt/MAesvM63W90X6WXuD68IcraZANudKO4R cnCJzP02z8aJZn+/QOZw6pOumvhI8cRr/AdRrUtmPBOwl6TdS3FdJL4L61td7bWc8CpJ 79hQ== 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=O7fmY6RXm4C3n42bEk4CqGJw8pxNcFIs2D00d871Vio=; b=adIKzAf5T+pvfX0lWt/s9zml9UmdQ3Dd81NL0TAaEQRAUvFVqF0RoBDlnE8te8jZMd sXH/1Ye/BZCWBDX5HO31vVCcCZyjhHp3p7bq0/X7WNGLQVtKFlbc7LKt1Rlro9R2eW8W TR6QY3klGXzNKSFV+0BzrqrzoDzkSQ+bgc+zLTRSWWmAdp4P/+uWZOO/Ay8p64CP0sHc RJ5+C8tpG2lUwqRK8YlEBnr+ZSQyq5D2Uc+fIuErP5+FD7qEDXruwWLBQkUD13C6nteC ljFiu1rWtQKbyZ9dM5Uz81ZDstfsRxRZhmggNegl3oqeTetiMyr79Q2nJ4+tfx26QnhK Hfkw== X-Gm-Message-State: ACrzQf01g63DT4a1Uch8Kzn8q4BXgVbh3O+nGX6pnhVqraDzQQ7EVNbd K+d4ebQmHFWIPYkuj5lYIwtgarBJV3Etlw== X-Google-Smtp-Source: AMsMyM5G1/L/uBWtbUmbd/RpE0hBczIQDyVViR827gnWUWI/+HjF3zr+EA7OVa7H2cPH5CZo4w6OMQ== X-Received: by 2002:adf:f5c4:0:b0:236:c419:710f with SMTP id k4-20020adff5c4000000b00236c419710fmr27565484wrp.56.1667810424501; Mon, 07 Nov 2022 00:40:24 -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 m42-20020a05600c092a00b003cf5ec79bf9sm7318985wmp.40.2022.11.07.00.40.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Nov 2022 00:40:24 -0800 (PST) From: =?UTF-8?q?Marc=20Poulhi=C3=A8s?= To: gcc-patches@gcc.gnu.org Cc: Piotr Trojanek Subject: [COMMITTED] ada: Remove redundant suppression for non-modified IN OUT parameters Date: Mon, 7 Nov 2022 09:40:21 +0100 Message-Id: <20221107084021.151112-1-poulhies@adacore.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-13.4 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 List-Id: From: Piotr Trojanek Non-modified IN OUT parameters are first collected and then filtered by examining uses of their enclosing subprograms. In this filtering we don't need to look again at properties of the formal parameters themselves. Cleanup related to improved detection of references to uninitialized objects; semantics is unaffected. gcc/ada/ * sem_warn.adb (No_Warn_On_In_Out): For subprograms we can simply call Warnings_Off. (Output_Non_Modified_In_Out_Warnings): Remove repeated suppression. Tested on x86_64-pc-linux-gnu, committed on master. --- gcc/ada/sem_warn.adb | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/gcc/ada/sem_warn.adb b/gcc/ada/sem_warn.adb index 4552d907bac..1bfa8449ad7 100644 --- a/gcc/ada/sem_warn.adb +++ b/gcc/ada/sem_warn.adb @@ -3006,9 +3006,9 @@ package body Sem_Warn is then return True; - -- Else test warnings off + -- Else test warnings off on the subprogram - elsif Warnings_Off_Check_Spec (S) then + elsif Warnings_Off (S) then return True; -- All tests for suppressing warning failed @@ -3029,11 +3029,9 @@ package body Sem_Warn is begin -- Suppress warning in specific cases (see details in comments for - -- No_Warn_On_In_Out), or if there is a pragma Unmodified. + -- No_Warn_On_In_Out). - if Has_Pragma_Unmodified_Check_Spec (E1) - or else No_Warn_On_In_Out (E1) - then + if No_Warn_On_In_Out (E1) then null; -- Here we generate the warning -- 2.34.1