[PATCH 1/1] gdb, testsuite: Adapt gdb.base/callfuncs.exp for new clang warnings.
Bruno Larsen
blarsen@redhat.com
Wed Jun 8 12:58:41 GMT 2022
On 6/8/22 04:17, Felix Willgerodt via Gdb-patches wrote:
> This patch fixes two issues with callfuncs.exp, which are both related
> to new Clang warnings:
Hi Felix!
Thanks for this!
>
> 1) Clang 15.0.0 added a new warning for deprecated non-prototype functions:
> https://reviews.llvm.org/D122895
> Callfuncs.exp is impacted and won't run due to new warnings:
>
> callfuncs.c:339:5: warning: a function declaration without a prototype is
> deprecated in all versions of C and is not supported in C2x
> [-Wdeprecated-non-prototype]
> int t_float_values (float_arg1, float_arg2)
>
> This patch disables those warnings with -Wno-deprecated-non-prototype.
> Removing the test for deprecated syntax would also be an option. But I will
> leave that for others to decide.
I like your solution with -Wno-deprecated-non-prototype.
I think it is important (at least for now) to keep this test, since we have to support very old setups.
>
> 2) The other new warnings are about comparing a define with floats and doubles:
>
> callfuncs.c:518:1: warning: floating-point comparison is always true; constant
> cannot be represented exactly in type 'float' [-Wliteral-range]
> DEF_FUNC_VALUES_3(fc, float, crealf, cimagf)
>
> This can be fixed by making the define a float.
Genuine question, would this not cause a problem for the times where the parameters are doubles and DELTA is a float? If it isn't a problem, I'm fine with this.
With all that said, I can't approve patches for pushing. Let's hope a maintainer shows up to approve :-)
Cheers!
Bruno Larsen
> ---
> gdb/testsuite/gdb.base/callfuncs.c | 2 +-
> gdb/testsuite/gdb.base/callfuncs.exp | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/gdb/testsuite/gdb.base/callfuncs.c b/gdb/testsuite/gdb.base/callfuncs.c
> index d18d0dba073..cf7c75c1360 100644
> --- a/gdb/testsuite/gdb.base/callfuncs.c
> +++ b/gdb/testsuite/gdb.base/callfuncs.c
> @@ -96,7 +96,7 @@ long double _Complex ldc3 = 3.0L + 3.0Li;
> long double _Complex ldc4 = 4.0L + 4.0Li;
> #endif /* TEST_COMPLEX */
>
> -#define DELTA (0.001)
> +#define DELTA (0.001f)
>
> char *string_val1 = (char *)"string 1";
> char *string_val2 = (char *)"string 2";
> diff --git a/gdb/testsuite/gdb.base/callfuncs.exp b/gdb/testsuite/gdb.base/callfuncs.exp
> index 4448cc127ba..d74357b8b48 100644
> --- a/gdb/testsuite/gdb.base/callfuncs.exp
> +++ b/gdb/testsuite/gdb.base/callfuncs.exp
> @@ -18,7 +18,7 @@
>
> standard_testfile
>
> -set compile_flags {debug}
> +set compile_flags {debug additional_flags=-Wno-deprecated-non-prototype}
> if [support_complex_tests] {
> lappend compile_flags "additional_flags=-DTEST_COMPLEX"
> }
More information about the Gdb-patches
mailing list