From patchwork Tue Dec 6 07:23:40 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Biener X-Patchwork-Id: 30111 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp2676913wrr; Mon, 5 Dec 2022 23:24:28 -0800 (PST) X-Google-Smtp-Source: AA0mqf7zaZpFUvi1jjpUEmKzkkOFKk1HRtkUCM6b/1biA9J9Bd13ZRBkff5s477Rs2TTImIpDUd5 X-Received: by 2002:aa7:d4d4:0:b0:46b:5c9f:52e with SMTP id t20-20020aa7d4d4000000b0046b5c9f052emr30955666edr.416.1670311468593; Mon, 05 Dec 2022 23:24:28 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1670311468; cv=none; d=google.com; s=arc-20160816; b=nGR+t4bOnREBwBrZ0o7b3mYO+0bmZa/hc4HEPPaCHD/NOHqNi1/J7s1RASg3qB9wC+ nir3DrJ3iGp50hJzoPW+qVdqLvsGVL/3llJWkqjQ2j3qG6oBvQKLrvSxEe+rkzdCHzJZ 1z81pP2pak6SmJaT6VLK4eSwiZ6Y8/uDoD6SILlkk5VNQIBxoHZ5tnJiIUoBpYv0ghxq mjorZYu2/0cfeYPd1ppFt1p6c1T0sfWQtFNvXDaA/AEAwb0qxG9jgFtTcY0mc5yaIMji DnLshFo/ZyFYT+3v0No5xgcC65+1Z4X5uMKBoYtvTfpPhViSX0duLhjGp/Tc9/+djUYM iX8Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:reply-to:from:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence:message-id :mime-version:subject:to:date:dmarc-filter:delivered-to :dkim-signature:dkim-filter; bh=WD2rYYRJbu5LhoG3UtwgpU1A5ALNE6EebYldEXC2p3I=; b=lFlnoM4gLu2O6yLCXZLUiAtCoBgnmbj/RzOek9MS6lImDvH3Qfh9NtZCVLj2ITp0zi Uk273IdHkNO/jUeXgAcinoNnS4muL3uTVwzqLkbLysaxt6JB81zkJLVyDgUULayc01/v If0Wipd0IURgLiLmoXUi21+BXvCl6nWVHWmaCLqkOv9ir+gPa2Pl3ioPYIWfmNAUA2BL b01DoQLvaCELql6qH3i6SS0IjPxkWRmA0NScabG+RA7GYkx7D8pva3qN5/eNrbLOxhKy qN1prtV70GWRpoWNkxmC5RMX4jnay+WJBdSGXZF/MvLt5exv2b/nRwHi1ApPPmjydj3O cerA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b=cjvQm8ta; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gnu.org Received: from sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id h7-20020a056402280700b0046b9715162csi1785055ede.21.2022.12.05.23.24.28 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 Dec 2022 23:24:28 -0800 (PST) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b=cjvQm8ta; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gnu.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 14E6E3959CA8 for ; Tue, 6 Dec 2022 07:24:25 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 14E6E3959CA8 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1670311465; bh=WD2rYYRJbu5LhoG3UtwgpU1A5ALNE6EebYldEXC2p3I=; h=Date:To:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=cjvQm8taLCrhtZAaV2JoNP7Xvxquw+Hxmaj5HJ3wlvPSoC17ZHPsY2hmgLpig7UvR aRy0tm/IeIW6OhrAhOpyxGTml1qCVvpEePjzMIuzx6KpQmHhBxth4Grqb9pSQ32Txf 8FoIqguBeppBqJ/dp6xKertG0MbZ0u9MkaXQ4KaE= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from smtp-out2.suse.de (smtp-out2.suse.de [IPv6:2001:67c:2178:6::1d]) by sourceware.org (Postfix) with ESMTPS id E9C483959C5D for ; Tue, 6 Dec 2022 07:23:41 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org E9C483959C5D Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id DC69E1FE70 for ; Tue, 6 Dec 2022 07:23:40 +0000 (UTC) Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id C862C13326 for ; Tue, 6 Dec 2022 07:23:40 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap1.suse-dmz.suse.de with ESMTPSA id zVO6L/ztjmORTwAAGKfGzw (envelope-from ) for ; Tue, 06 Dec 2022 07:23:40 +0000 Date: Tue, 6 Dec 2022 08:23:40 +0100 (CET) To: gcc-patches@gcc.gnu.org Subject: [PATCH] tree-optimization/104165 - bougs -Warray-bounds, add testcase MIME-Version: 1.0 Message-Id: <20221206072340.C862C13326@imap1.suse-dmz.suse.de> X-Spam-Status: No, score=-11.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, 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: Richard Biener via Gcc-patches From: Richard Biener Reply-To: Richard Biener Errors-To: gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org Sender: "Gcc-patches" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1751448518789297829?= X-GMAIL-MSGID: =?utf-8?q?1751448518789297829?= The following adds the testcase from the description which was fixed by r13-2894-gbe4a6551ed37c1. Tested on x86_64-unknown-linux-gnu, pushed. PR tree-optimization/104165 * g++.dg/warn/Warray-bounds-pr104165-1.C: New testcase. --- .../g++.dg/warn/Warray-bounds-pr104165-1.C | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 gcc/testsuite/g++.dg/warn/Warray-bounds-pr104165-1.C diff --git a/gcc/testsuite/g++.dg/warn/Warray-bounds-pr104165-1.C b/gcc/testsuite/g++.dg/warn/Warray-bounds-pr104165-1.C new file mode 100644 index 00000000000..bc46285eb90 --- /dev/null +++ b/gcc/testsuite/g++.dg/warn/Warray-bounds-pr104165-1.C @@ -0,0 +1,27 @@ +// { dg-do compile } +// { dg-require-effective-target c++11 } +// { dg-options "-O2 -Warray-bounds" } + +#include + +static int bar(int n, int l) +{ + int f[l]; + int x = 0; + int r = n; + + for (; x < l;) + if (r) + x = l; + else + r = 1; + + if (r == 1) + std::sort(f, f + x, [](int a, int b) { return a > b; }); + return 1; +} + +int foo(int n) +{ + return bar(n, 4); +}