[PATCH 1/4] gdb, testsuite: handle icc and icpc deprecated remarks
Simon Marchi
simark@simark.ca
Mon Sep 26 14:32:47 GMT 2022
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 <nils-christian.kempke@intel.com>
>
> * lib/gdb.exp: Handle icc/icpc deprecation warnings.
>
> Signed-off-by: Nils-Christian Kempke <nils-christian.kempke@intel.com>
> ---
> 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
More information about the Gdb-patches
mailing list