2021-11-05 18:25:07

by Anders Roxell

[permalink] [raw]
Subject: [PATCH] selftests: vDSO: parse: warning: fix assignment as a condition

When building selftests/vDSO with clang the following warning shows up:

clang -std=gnu99 -Wno-pointer-sign vdso_test_gettimeofday.c parse_vdso.c -o /home/anders/.cache/tuxmake/builds/current/kselftest/vDSO/vdso_test_gettimeofday
parse_vdso.c:65:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
if (g = h & 0xf0000000)
~~^~~~~~~~~~~~~~~~

Rework to a parentheses before doing the check.

Signed-off-by: Anders Roxell <[email protected]>
---
tools/testing/selftests/vDSO/parse_vdso.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/testing/selftests/vDSO/parse_vdso.c b/tools/testing/selftests/vDSO/parse_vdso.c
index 413f75620a35..b47b721a4ea4 100644
--- a/tools/testing/selftests/vDSO/parse_vdso.c
+++ b/tools/testing/selftests/vDSO/parse_vdso.c
@@ -62,7 +62,7 @@ static unsigned long elf_hash(const unsigned char *name)
while (*name)
{
h = (h << 4) + *name++;
- if (g = h & 0xf0000000)
+ if ((g = (h & 0xf0000000)))
h ^= g >> 24;
h &= ~g;
}
--
2.33.0


2021-11-05 20:32:15

by Nick Desaulniers

[permalink] [raw]
Subject: Re: [PATCH] selftests: vDSO: parse: warning: fix assignment as a condition

On Fri, Nov 5, 2021 at 9:28 AM Anders Roxell <[email protected]> wrote:
>
> When building selftests/vDSO with clang the following warning shows up:
>
> clang -std=gnu99 -Wno-pointer-sign vdso_test_gettimeofday.c parse_vdso.c -o /home/anders/.cache/tuxmake/builds/current/kselftest/vDSO/vdso_test_gettimeofday
> parse_vdso.c:65:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
> if (g = h & 0xf0000000)
> ~~^~~~~~~~~~~~~~~~
>
> Rework to a parentheses before doing the check.
>
> Signed-off-by: Anders Roxell <[email protected]>

Thanks for the patch!
Reviewed-by: Nick Desaulniers <[email protected]>

> ---
> tools/testing/selftests/vDSO/parse_vdso.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/testing/selftests/vDSO/parse_vdso.c b/tools/testing/selftests/vDSO/parse_vdso.c
> index 413f75620a35..b47b721a4ea4 100644
> --- a/tools/testing/selftests/vDSO/parse_vdso.c
> +++ b/tools/testing/selftests/vDSO/parse_vdso.c
> @@ -62,7 +62,7 @@ static unsigned long elf_hash(const unsigned char *name)
> while (*name)
> {
> h = (h << 4) + *name++;
> - if (g = h & 0xf0000000)
> + if ((g = (h & 0xf0000000)))
> h ^= g >> 24;
> h &= ~g;
> }
> --
> 2.33.0
>


--
Thanks,
~Nick Desaulniers

2021-11-20 00:16:54

by Shuah Khan

[permalink] [raw]
Subject: Re: [PATCH] selftests: vDSO: parse: warning: fix assignment as a condition

On 11/5/21 2:17 PM, Nick Desaulniers wrote:
> On Fri, Nov 5, 2021 at 9:28 AM Anders Roxell <[email protected]> wrote:
>>
>> When building selftests/vDSO with clang the following warning shows up:
>>
>> clang -std=gnu99 -Wno-pointer-sign vdso_test_gettimeofday.c parse_vdso.c -o /home/anders/.cache/tuxmake/builds/current/kselftest/vDSO/vdso_test_gettimeofday
>> parse_vdso.c:65:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
>> if (g = h & 0xf0000000)
>> ~~^~~~~~~~~~~~~~~~
>>
>> Rework to a parentheses before doing the check.
>>
>> Signed-off-by: Anders Roxell <[email protected]>
>
> Thanks for the patch!
> Reviewed-by: Nick Desaulniers <[email protected]>
>

My commit script failed due to checkpatch warns. Run checkpatchp.l --strict
to find the problems and send me the fixed version.

thanks,
-- Shuah