[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