From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 7871) id 94F5C3858413; Mon, 7 Nov 2022 08:39:07 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 94F5C3858413 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1667810347; bh=ExpqlaSEQS7sec4Li5Ncbd76iME42EY5td32FgO/D3I=; h=From:To:Subject:Date:From; b=a04lJsGrvnSvqJEyQNjJr/y4Uk8mZs9eHUKH6JUvzKwdwDlGczxfkmv0ZmGS/wWa6 SXkosldFD8k4hESHZWQmUQ08I81PUcPeEP9cFO+adBqUiYwc6B35ct9s+AgcErJ+OS 82uk/3NDnqz44bZn4IDqBMV8W8glGuhRsDiycLAQ= MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: Marc Poulhi?s To: gcc-cvs@gcc.gnu.org Subject: [gcc r13-3731] ada: Remove redundant suppression for non-modified IN OUT parameters X-Act-Checkin: gcc X-Git-Author: Piotr Trojanek X-Git-Refname: refs/heads/master X-Git-Oldrev: 2caaa4bf336bce2a7d649aa05f2851d576a26e5e X-Git-Newrev: dcc02d3168b4457746f6ab1d8e73cf9d15c6d4e8 Message-Id: <20221107083907.94F5C3858413@sourceware.org> Date: Mon, 7 Nov 2022 08:39:07 +0000 (GMT) List-Id: https://gcc.gnu.org/g:dcc02d3168b4457746f6ab1d8e73cf9d15c6d4e8 commit r13-3731-gdcc02d3168b4457746f6ab1d8e73cf9d15c6d4e8 Author: Piotr Trojanek Date: Tue Sep 6 00:24:17 2022 +0200 ada: Remove redundant suppression for non-modified IN OUT parameters 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. Diff: --- 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