2021-12-06 10:29:47

by Anders Roxell

[permalink] [raw]
Subject: [PATCH v2] 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 /tmp/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]>
Reviewed-by: Nick Desaulniers <[email protected]>
---

v1 -> v2: fixed checkpatch warnings

tools/testing/selftests/vDSO/parse_vdso.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

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



2021-12-06 16:24:45

by Nathan Chancellor

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

On Mon, Dec 06, 2021 at 11:29:31AM +0100, Anders Roxell 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 /tmp/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.

This part of the commit message does not line up with what you are
actually doing now.

> Signed-off-by: Anders Roxell <[email protected]>
> Reviewed-by: Nick Desaulniers <[email protected]>

With that fixed:

Reviewed-by: Nathan Chancellor <[email protected]>

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