From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca (simark.ca [158.69.221.121]) by sourceware.org (Postfix) with ESMTPS id 9A2673858CDA for ; Mon, 26 Sep 2022 14:32:48 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 9A2673858CDA Received: from [10.0.0.11] (unknown [217.28.27.60]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by simark.ca (Postfix) with ESMTPSA id D0B8C1E0D5; Mon, 26 Sep 2022 10:32:47 -0400 (EDT) Message-ID: <458aa81c-26a0-9a43-7ee2-32923979c5b4@simark.ca> Date: Mon, 26 Sep 2022 10:32:47 -0400 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.2.2 Subject: Re: [PATCH 1/4] gdb, testsuite: handle icc and icpc deprecated remarks Content-Language: en-US To: Nils-Christian Kempke , gdb-patches@sourceware.org Cc: tom@tromey.com References: <20220920072629.2736207-1-nils-christian.kempke@intel.com> <20220920072629.2736207-2-nils-christian.kempke@intel.com> From: Simon Marchi In-Reply-To: <20220920072629.2736207-2-nils-christian.kempke@intel.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-12.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, NICE_REPLY_A, SPF_HELO_PASS, 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: 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-List-Received-Date: Mon, 26 Sep 2022 14:32:50 -0000 On 2022-09-20 03:26, Nils-Christian Kempke via Gdb-patches wrote: > 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 0f6bb20b49c..e6053d7dc4e 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 > Thanks, this is OK. Simon