From patchwork Wed Oct 5 20:40:36 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Kempke, Nils-Christian" X-Patchwork-Id: 58417 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 9EB8E385736D for ; Wed, 5 Oct 2022 20:41:28 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 9EB8E385736D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1665002488; bh=KappbtMvp7RTvO++WQsGoBbcPQDqdg9WR255UH71/I4=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=F4+8q7qfSbb95yMOaUQChaX3y+XaL+ekGOlZmQ4cWEG3qatztGnFGy1KtyetYlCx6 iWaElwMcQncfgo+A8/pdiKSAfkp5zUyfyDhmOjoFwwBVRPy3N4o6xw6ckGGhKcOZlA VBqkEO308RrHM5I+aDSqklePI1O0KxxwVMzwiYSM= X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by sourceware.org (Postfix) with ESMTPS id 616EB3857BA7 for ; Wed, 5 Oct 2022 20:40:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 616EB3857BA7 X-IronPort-AV: E=McAfee;i="6500,9779,10491"; a="283634464" X-IronPort-AV: E=Sophos;i="5.95,161,1661842800"; d="scan'208";a="283634464" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Oct 2022 13:40:54 -0700 X-IronPort-AV: E=McAfee;i="6500,9779,10491"; a="624466092" X-IronPort-AV: E=Sophos;i="5.95,161,1661842800"; d="scan'208";a="624466092" Received: from labpcdell3650-003.iul.intel.com (HELO localhost) ([172.28.49.87]) by orsmga002-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Oct 2022 13:40:52 -0700 To: gdb-patches@sourceware.org Subject: [PATCH v2 1/4] gdb, testsuite: handle icc and icpc deprecated remarks Date: Wed, 5 Oct 2022 22:40:36 +0200 Message-Id: <20221005204039.575255-2-nils-christian.kempke@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221005204039.575255-1-nils-christian.kempke@intel.com> References: <20221005204039.575255-1-nils-christian.kempke@intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-10.3 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, SPF_HELO_NONE, SPF_NONE, 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: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Nils-Christian Kempke via Gdb-patches From: "Kempke, Nils-Christian" Reply-To: Nils-Christian Kempke Cc: simark@simark.ca Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org Sender: "Gdb-patches" Starting with icc/icpc version 2021.7.0 and higher both compilers emit a deprecation remark when used. E.g. >> icc --version icc: remark #10441: The Intel(R) C++ Compiler Classic (ICC) is deprecated and will be removed from product release in the second half of 2023. The Intel(R) oneAPI DPC++/C++ Compiler (ICX) is the recommended compiler moving forward. Please transition to use this compiler. Use '-diag-disable=10441' to disable this message. icc (ICC) 2021.7.0 20220713 Copyright (C) 1985-2022 Intel Corporation. All rights reserved. >> icpc --version icpc: remark #10441: The Intel(R) C++ Compiler Classic (ICC) is deprecated ... icpc (ICC) 2021.7.0 20220720 Copyright (C) 1985-2022 Intel Corporation. All rights reserved. As the testsuite compile fails when unexpected output by the compiler is seen this change in the compiler breaks all existing icc and icpc tests. This patch makes the gdb testsuite more forgiving by a) allowing the output of the remark when trying to figure out the compiler version and by b) adding '-diag-disable=10441' to the compile command whenever gdb_compile is called without the intention to detect the compiler. gdb/testsuite/ChangeLog: 2022-07-20 Nils-Christian Kempke * lib/gdb.exp: Handle icc/icpc deprecation warnings. Signed-off-by: Nils-Christian Kempke --- gdb/testsuite/lib/gdb.exp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index 432ed5e34ca..a6538fcab9c 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -4493,6 +4493,13 @@ proc gdb_compile {source dest type options} { } } + # Starting with 2021.7.0 (recognized as icc-20-21-7 by GDB) icc and icpc + # are marked as deprecated and both compilers emit the remark #10441. To + # let GDB still compile successfully, we disable these warnings here. + if {!$getting_compiler_info && [test_compiler_info {icc-20-21-[7-9]}]} { + lappend new_options "additional_flags=-diag-disable=10441" + } + # Treating .c input files as C++ is deprecated in Clang, so # explicitly force C++ language. if { !$getting_compiler_info @@ -4749,6 +4756,17 @@ proc gdb_compile {source dest type options} { # Prune uninteresting compiler (and linker) output. regsub "Creating library file: \[^\r\n\]*\[\r\n\]+" $result "" result + # Starting with 2021.7.0 icc and icpc are marked as deprecated and both + # compilers emit a remark #10441. To let GDB still compile successfully, + # we disable these warnings. When $getting_compiler_info is true however, + # we do not yet know the compiler (nor its version) and instead prune these + # lines from the compiler output to let the get_compiler_info pass. + if {$getting_compiler_info} { + regsub \ + "(icc|icpc): remark #10441: The Intel\\(R\\) C\\+\\+ Compiler Classic \\(ICC\\) is deprecated\[^\r\n\]*" \ + "$result" "" result + } + regsub "\[\r\n\]*$" "$result" "" result regsub "^\[\r\n\]*" "$result" "" result