On Mon, Apr 29, 2024 at 08:34:36PM +0000, Edward Liaw wrote: > Fixes clang compiler warnings by adding parentheses: > > parse_vdso.c:65:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] > if (g = h & 0xf0000000) > ~~^~~~~~~~~~~~~~~~ > parse_vdso.c:65:9: note: place parentheses around the assignment to silence this warning > if (g = h & 0xf0000000) > ^ > ( ) > parse_vdso.c:65:9: note: use '==' to turn this assignment into an equality comparison > if (g = h & 0xf0000000) > ^ > == > > Fixes: 98eedc3a9dbf ("Document the vDSO and add a reference parser") > Signed-off-by: Edward Liaw <edliaw@xxxxxxxxxx> For readability's sake, I tend to prefer just taking the assignment out of the if statement: g = h & 0xf0000000; then testing it: if (g) ... but as it stands it's fine and the warning goes away. Reviewed-by: Justin Stitt <justinstitt@xxxxxxxxxx> > --- > 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..b9cf771006da 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.44.0.769.g3c40516874-goog >