From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com [IPv6:2a00:1450:4864:20::333]) by sourceware.org (Postfix) with ESMTPS id AD42B388265C for ; Mon, 22 May 2023 08:50:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org AD42B388265C 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-wm1-x333.google.com with SMTP id 5b1f17b1804b1-3f41dceb9d1so56909375e9.1 for ; Mon, 22 May 2023 01:50:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=adacore.com; s=google; t=1684745420; x=1687337420; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=OUnAWvAZn9EwuLKDW73pyvX+COKPQhlfR8ZhchJvfQE=; b=kz7HDGqNOiCA5LzhAgvliJv1hpvoMByx10nUf7Gdh4f4dLYysogeV/ga7jDvmOKrA6 +L6nazjANRUlySdIEN7oSBPG1VrKYHaNSbVoKpqcGmYrX024UL9tSoQiamlEUQjhRIfl 2SKUP9JKnVhQxqpb83KD8CwXa7c83wCnKOc2gL+5RtlH5vE/v6ZA/gVF+bbOyjQ+FCpN kU+LiMuGo+0c2uJu1XLz73AB87H+VgakT3PMUQP+KGmRSsi7DEM4FVWL2rKcaZ0gIXri C0D+XTvoS/3MMlAbfY5u0Gn7cn9P74nsMza+R7isyFHPzqIm5KC5p+hS4/TQrAaZBcFK p4ng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684745420; x=1687337420; 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=OUnAWvAZn9EwuLKDW73pyvX+COKPQhlfR8ZhchJvfQE=; b=jXrHiXiI3V5JRdJzJzDQRGkABLIWdGRgltE7sREwjgykefeMnsFeAdS3gSolzm6BSf 92fiGvhAeN+2Bf0//rBGpkR3Xyx3H5SWqHvqgImK1hMLDQsNmD8QqPiuYevzg2X8JxID hGLOqaXu/bh0b+0lEK6l1BzFEWCIIT/YKNv+sOSGJ7A/btzUU8tUUptEvgiqktt0Odxi eGvWbnlL5fJldQ8UGUIfx/Fhu/EVj4GcoLh52fYt+gU6ii/jMDqVD8BN16EjkbUm1CO8 BfOEM48xzHThJJBPgSjbDZj+PAqGVYuqHf86SZtrCrjYaXuujrzGMHjeZGhAWA36YQWt xlTg== X-Gm-Message-State: AC+VfDwj1aE4szuGZ/fQ4rmaNSPx1pR8j+j4ivcM/GDNz7VP8n+lFqQO KmCF76DT3V1mmnmVh8vcdwM+tM94n+LvXlR9JlB/xQ== X-Google-Smtp-Source: ACHHUZ6OO9KI2xQAh9AsM9f0t+MYTMSlBptY8jnMrVyLmTqD+qO880hl1lg3N5Vs0ArWqC2pWEX2FA== X-Received: by 2002:a1c:7311:0:b0:3f5:6e5:1689 with SMTP id d17-20020a1c7311000000b003f506e51689mr7072703wmb.17.1684745420499; Mon, 22 May 2023 01:50:20 -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 g17-20020a05600c311100b003f4283f5c1bsm25621735wmo.2.2023.05.22.01.50.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 May 2023 01:50:19 -0700 (PDT) From: =?UTF-8?q?Marc=20Poulhi=C3=A8s?= To: gcc-patches@gcc.gnu.org Cc: Piotr Trojanek Subject: [COMMITTED] ada: Remove redundant protection against empty lists Date: Mon, 22 May 2023 10:50:18 +0200 Message-Id: <20230522085018.1726226-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.5 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: Piotr Trojanek Calls to List_Length on No_List intentionally return 0 (and likewise call to First on No_List intentionally return Empty), so explicit guards against No_List are unnecessary. Code cleanup; semantics is unaffected. gcc/ada/ * exp_aggr.adb (Aggregate_Size): Remove redundant calls to Present. * exp_ch5.adb (Expand_N_If_Statement): Likewise. * sem_prag.adb (Analyze_Pragma): Likewise. * sem_warn.adb (Find_Var): Likewise. Tested on x86_64-pc-linux-gnu, committed on master. --- gcc/ada/exp_aggr.adb | 8 +++----- gcc/ada/exp_ch5.adb | 1 - gcc/ada/sem_prag.adb | 25 ++++++++++--------------- gcc/ada/sem_warn.adb | 2 +- 4 files changed, 14 insertions(+), 22 deletions(-) diff --git a/gcc/ada/exp_aggr.adb b/gcc/ada/exp_aggr.adb index 58831bd51ca..e4b1991f410 100644 --- a/gcc/ada/exp_aggr.adb +++ b/gcc/ada/exp_aggr.adb @@ -7397,7 +7397,7 @@ package body Exp_Aggr is Comp : Node_Id; Choice : Node_Id; Lo, Hi : Node_Id; - Siz : Int := 0; + Siz : Int; procedure Add_Range_Size; -- Compute number of components specified by a component association @@ -7422,11 +7422,9 @@ package body Exp_Aggr is end Add_Range_Size; begin - -- Aggregate is either all positional or all named. + -- Aggregate is either all positional or all named - if Present (Expressions (N)) then - Siz := List_Length (Expressions (N)); - end if; + Siz := List_Length (Expressions (N)); if Present (Component_Associations (N)) then Comp := First (Component_Associations (N)); diff --git a/gcc/ada/exp_ch5.adb b/gcc/ada/exp_ch5.adb index 0c89856b58b..dfe1112f341 100644 --- a/gcc/ada/exp_ch5.adb +++ b/gcc/ada/exp_ch5.adb @@ -4743,7 +4743,6 @@ package body Exp_Ch5 is and then not Opt.Suppress_Control_Flow_Optimizations and then Nkind (N) = N_If_Statement and then No (Elsif_Parts (N)) - and then Present (Else_Statements (N)) and then List_Length (Then_Statements (N)) = 1 and then List_Length (Else_Statements (N)) = 1 then diff --git a/gcc/ada/sem_prag.adb b/gcc/ada/sem_prag.adb index 36c1add5ea4..5fe5d6a2d0f 100644 --- a/gcc/ada/sem_prag.adb +++ b/gcc/ada/sem_prag.adb @@ -11699,29 +11699,24 @@ package body Sem_Prag is -- Preset arguments - Arg_Count := 0; - Arg1 := Empty; + Arg_Count := List_Length (Pragma_Argument_Associations (N)); + Arg1 := First (Pragma_Argument_Associations (N)); Arg2 := Empty; Arg3 := Empty; Arg4 := Empty; Arg5 := Empty; - if Present (Pragma_Argument_Associations (N)) then - Arg_Count := List_Length (Pragma_Argument_Associations (N)); - Arg1 := First (Pragma_Argument_Associations (N)); - - if Present (Arg1) then - Arg2 := Next (Arg1); + if Present (Arg1) then + Arg2 := Next (Arg1); - if Present (Arg2) then - Arg3 := Next (Arg2); + if Present (Arg2) then + Arg3 := Next (Arg2); - if Present (Arg3) then - Arg4 := Next (Arg3); + if Present (Arg3) then + Arg4 := Next (Arg3); - if Present (Arg4) then - Arg5 := Next (Arg4); - end if; + if Present (Arg4) then + Arg5 := Next (Arg4); end if; end if; end if; diff --git a/gcc/ada/sem_warn.adb b/gcc/ada/sem_warn.adb index 834d48d311c..5dd7c17d4e2 100644 --- a/gcc/ada/sem_warn.adb +++ b/gcc/ada/sem_warn.adb @@ -353,7 +353,7 @@ package body Sem_Warn is begin -- One argument, so check the argument - if Present (PA) and then List_Length (PA) = 1 then + if List_Length (PA) = 1 then if Nkind (First (PA)) = N_Parameter_Association then Find_Var (Explicit_Actual_Parameter (First (PA))); else -- 2.40.0