public inbox for gcc-regression@sourceware.org
help / color / mirror / Atom feed
* [TCWG CI] Regression caused by gcc: Do not erase warning data in gimple_set_location
@ 2022-06-13 20:25 ci_notify
  0 siblings, 0 replies; only message in thread
From: ci_notify @ 2022-06-13 20:25 UTC (permalink / raw)
  To: Eric Botcazou; +Cc: gcc-regression

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=UTF-8, Size: 9465 bytes --]

[TCWG CI] Regression caused by gcc: Do not erase warning data in gimple_set_location:
commit cb1ecf3819f19a4fc35468010b66b5c1a7b21ee8
Author: Eric Botcazou <ebotcazou@adacore.com>

    Do not erase warning data in gimple_set_location

Results regressed to
# reset_artifacts:
-10
# true:
0
# build_abe binutils:
1
# First few build errors in logs:
# 00:05:38 make[3]: [Makefile:1787: armv8l-unknown-linux-gnueabihf/bits/largefile-config.h] Error 1 (ignored)
# 00:29:21 make[3]: [Makefile:1787: armv8l-unknown-linux-gnueabihf/bits/largefile-config.h] Error 1 (ignored)
# 00:31:02 /home/tcwg-buildslave/workspace/tcwg_gnu_1/abe/snapshots/gcc.git~master/libcpp/lex.cc:1523:9: error: pointer used after ‘void operator delete(void*, std::size_t)’ [-Werror=use-after-free]
# 00:31:04 make[3]: *** [Makefile:227: lex.o] Error 1
# 00:31:04 make[2]: *** [Makefile:9527: all-stage3-libcpp] Error 2
# 00:31:35 make[1]: *** [Makefile:25887: stage3-bubble] Error 2
# 00:31:35 make: *** [Makefile:1072: all] Error 2

from
# reset_artifacts:
-10
# true:
0
# build_abe binutils:
1
# build_abe bootstrap:
2

THIS IS THE END OF INTERESTING STUFF.  BELOW ARE LINKS TO BUILDS, REPRODUCTION INSTRUCTIONS, AND THE RAW COMMIT.

This commit has regressed these CI configurations:
 - tcwg_gcc_bootstrap/master-arm-bootstrap

First_bad build: https://ci.linaro.org/job/tcwg_gcc_bootstrap-bisect-master-arm-bootstrap/16/artifact/artifacts/build-cb1ecf3819f19a4fc35468010b66b5c1a7b21ee8/
Last_good build: https://ci.linaro.org/job/tcwg_gcc_bootstrap-bisect-master-arm-bootstrap/16/artifact/artifacts/build-6303eee4b92e8509409503a3abebde8bd50f0f05/
Baseline build: https://ci.linaro.org/job/tcwg_gcc_bootstrap-bisect-master-arm-bootstrap/16/artifact/artifacts/build-baseline/
Even more details: https://ci.linaro.org/job/tcwg_gcc_bootstrap-bisect-master-arm-bootstrap/16/artifact/artifacts/

Reproduce builds:
<cut>
mkdir investigate-gcc-cb1ecf3819f19a4fc35468010b66b5c1a7b21ee8
cd investigate-gcc-cb1ecf3819f19a4fc35468010b66b5c1a7b21ee8

# Fetch scripts
git clone https://git.linaro.org/toolchain/jenkins-scripts

# Fetch manifests and test.sh script
mkdir -p artifacts/manifests
curl -o artifacts/manifests/build-baseline.sh https://ci.linaro.org/job/tcwg_gcc_bootstrap-bisect-master-arm-bootstrap/16/artifact/artifacts/manifests/build-baseline.sh --fail
curl -o artifacts/manifests/build-parameters.sh https://ci.linaro.org/job/tcwg_gcc_bootstrap-bisect-master-arm-bootstrap/16/artifact/artifacts/manifests/build-parameters.sh --fail
curl -o artifacts/test.sh https://ci.linaro.org/job/tcwg_gcc_bootstrap-bisect-master-arm-bootstrap/16/artifact/artifacts/test.sh --fail
chmod +x artifacts/test.sh

# Reproduce the baseline build (build all pre-requisites)
./jenkins-scripts/tcwg_gnu-build.sh @@ artifacts/manifests/build-baseline.sh

# Save baseline build state (which is then restored in artifacts/test.sh)
mkdir -p ./bisect
rsync -a --del --delete-excluded --exclude /bisect/ --exclude /artifacts/ --exclude /gcc/ ./ ./bisect/baseline/

cd gcc

# Reproduce first_bad build
git checkout --detach cb1ecf3819f19a4fc35468010b66b5c1a7b21ee8
../artifacts/test.sh

# Reproduce last_good build
git checkout --detach 6303eee4b92e8509409503a3abebde8bd50f0f05
../artifacts/test.sh

cd ..
</cut>

Full commit (up to 1000 lines):
<cut>
commit cb1ecf3819f19a4fc35468010b66b5c1a7b21ee8
Author: Eric Botcazou <ebotcazou@adacore.com>
Date:   Mon Jun 13 10:03:36 2022 +0200

    Do not erase warning data in gimple_set_location
    
    gimple_set_location is mostly invoked on newly built GIMPLE statements, so
    their location is UNKNOWN_LOCATION and setting it will clobber the warning
    data of the passed location, if any.
    
    gcc/
            * dwarf2out.cc (output_one_line_info_table): Initialize prev_addr.
            * gimple.h (gimple_set_location): Do not copy warning data from
            the previous location when it is UNKNOWN_LOCATION.
            * optabs.cc (expand_widen_pattern_expr): Always set oprnd{1,2}.
    gcc/testsuite/
            * c-c++-common/nonnull-1.c: Remove XFAIL for C++.
---
 gcc/dwarf2out.cc                       | 2 +-
 gcc/gimple.h                           | 3 ++-
 gcc/optabs.cc                          | 6 ++----
 gcc/testsuite/c-c++-common/nonnull-1.c | 2 +-
 4 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/gcc/dwarf2out.cc b/gcc/dwarf2out.cc
index 29f32ec6939..b468a4b9c0f 100644
--- a/gcc/dwarf2out.cc
+++ b/gcc/dwarf2out.cc
@@ -12916,7 +12916,7 @@ output_one_line_info_table (dw_line_info_table *table)
   char line_label[MAX_ARTIFICIAL_LABEL_BYTES];
   unsigned int current_line = 1;
   bool current_is_stmt = DWARF_LINE_DEFAULT_IS_STMT_START;
-  dw_line_info_entry *ent, *prev_addr;
+  dw_line_info_entry *ent, *prev_addr = NULL;
   size_t i;
   unsigned int view;
 
diff --git a/gcc/gimple.h b/gcc/gimple.h
index 6b1e89ad74e..870629cd562 100644
--- a/gcc/gimple.h
+++ b/gcc/gimple.h
@@ -1913,7 +1913,8 @@ static inline void
 gimple_set_location (gimple *g, location_t location)
 {
   /* Copy the no-warning data to the statement location.  */
-  copy_warning (location, g->location);
+  if (g->location != UNKNOWN_LOCATION)
+    copy_warning (location, g->location);
   g->location = location;
 }
 
diff --git a/gcc/optabs.cc b/gcc/optabs.cc
index c0a68471d2d..a50dd798f2a 100644
--- a/gcc/optabs.cc
+++ b/gcc/optabs.cc
@@ -264,10 +264,8 @@ expand_widen_pattern_expr (sepops ops, rtx op0, rtx op1, rtx wide_op,
   bool sbool = false;
 
   oprnd0 = ops->op0;
-  if (nops >= 2)
-    oprnd1 = ops->op1;
-  if (nops >= 3)
-    oprnd2 = ops->op2;
+  oprnd1 = nops >= 2 ? ops->op1 : NULL_TREE;
+  oprnd2 = nops >= 3 ? ops->op2 : NULL_TREE;
 
   tmode0 = TYPE_MODE (TREE_TYPE (oprnd0));
   if (ops->code == VEC_UNPACK_FIX_TRUNC_HI_EXPR
diff --git a/gcc/testsuite/c-c++-common/nonnull-1.c b/gcc/testsuite/c-c++-common/nonnull-1.c
index ea987365302..7be4e3479dd 100644
--- a/gcc/testsuite/c-c++-common/nonnull-1.c
+++ b/gcc/testsuite/c-c++-common/nonnull-1.c
@@ -30,5 +30,5 @@ func (char *cp1, char *cp2, char *cp3, char *cp4)
 __attribute__((nonnull (1))) int
 func2 (char *cp)
 {
-  return (cp != NULL) ? 1 : 0; /* { dg-warning "'nonnull' argument" "cp compared to NULL" { xfail c++ } } */
+  return (cp != NULL) ? 1 : 0; /* { dg-warning "'nonnull' argument" "cp compared to NULL" } */
 }
</cut>
>From hjl@sc.intel.com  Wed Jun 15 15:48:02 2022
Return-Path: <hjl@sc.intel.com>
X-Original-To: gcc-regression@gcc.gnu.org
Delivered-To: gcc-regression@gcc.gnu.org
Received: from mga11.intel.com (mga11.intel.com [192.55.52.93])
 by sourceware.org (Postfix) with ESMTPS id 6868C3858D32
 for <gcc-regression@gcc.gnu.org>; Wed, 15 Jun 2022 15:48:00 +0000 (GMT)
DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 6868C3858D32
X-IronPort-AV: E=McAfee;i="6400,9594,10379"; a="276578834"
X-IronPort-AV: E=Sophos;i="5.91,302,1647327600"; d="scan'208";a="276578834"
Received: from fmsmga003.fm.intel.com ([10.253.24.29])
 by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 15 Jun 2022 08:47:59 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.91,302,1647327600"; d="scan'208";a="674566387"
Received: from scymds02.sc.intel.com ([10.82.73.244])
 by FMSMGA003.fm.intel.com with ESMTP; 15 Jun 2022 08:47:59 -0700
Received: from gnu-clx-1.sc.intel.com (gnu-clx-1.sc.intel.com [172.25.70.216])
 by scymds02.sc.intel.com with ESMTP id 25FFlxLu027497;
 Wed, 15 Jun 2022 08:47:59 -0700
Received: by gnu-clx-1.sc.intel.com (Postfix, from userid 1000)
 id EB1643E001F; Wed, 15 Jun 2022 08:47:58 -0700 (PDT)
Date: Wed, 15 Jun 2022 08:47:58 -0700
To: skpgkp2@gmail.com, hjl.tools@gmail.com, gcc-regression@gcc.gnu.org
Subject: Regressions on native/master at commit r13-1108 vs commit
 r13-1097 on Linux/x86_64
User-Agent: Heirloom mailx 12.5 7/5/10
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-Id: <20220615154758.EB1643E001F@gnu-clx-1.sc.intel.com>
From: "H. J. Lu" <hjl@sc.intel.com>
X-Spam-Status: No, score=-3460.5 required=5.0 testsºYES_00, KAM_DMARC_STATUS,
 KAM_LAZY_DOMAIN_SECURITY, KAM_NUMSUBJECT, SPF_HELO_NONE, SPF_NONE, TXREP,
 T_SCC_BODY_TEXT_LINE autolearn=no 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-regression@gcc.gnu.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Gcc-regression mailing list <gcc-regression.gcc.gnu.org>
List-Unsubscribe: <https://gcc.gnu.org/mailman/options/gcc-regression>,
 <mailto:gcc-regression-request@gcc.gnu.org?subject=unsubscribe>
List-Archive: <https://gcc.gnu.org/pipermail/gcc-regression/>
List-Post: <mailto:gcc-regression@gcc.gnu.org>
List-Help: <mailto:gcc-regression-request@gcc.gnu.org?subject=help>
List-Subscribe: <https://gcc.gnu.org/mailman/listinfo/gcc-regression>,
 <mailto:gcc-regression-request@gcc.gnu.org?subject=subscribe>
X-List-Received-Date: Wed, 15 Jun 2022 15:48:02 -0000

New failures:
FAIL: g++.target/i386/pr105953.C  -std=gnu++14 (test for excess errors)
FAIL: g++.target/i386/pr105953.C  -std=gnu++17 (test for excess errors)
FAIL: g++.target/i386/pr105953.C  -std=gnu++20 (test for excess errors)
FAIL: g++.target/i386/pr105953.C  -std=gnu++98 (test for excess errors)

New passes:


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-06-13 20:25 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-13 20:25 [TCWG CI] Regression caused by gcc: Do not erase warning data in gimple_set_location ci_notify

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).