In article <bb1c3cc8-0bae-473a-808d-b0abf4cb5...@gmx.de>,
Roland Illig  <roland.il...@gmx.de> wrote:
>Am 10.07.2024 um 03:12 schrieb Christos Zoulas:
>
>src/tests/lib/libc/c063/t_fchmodat.c
>> -    ATF_REQUIRE(st.st_mode = 0600);
>> +    ATF_REQUIRE(st.st_mode == 0600);
>
>Should we do something to detect bugs like these mechanically?
>
>ATF_REQUIRE(cond) currently expands to "if (!(cond))", and I guess due
>to the parentheses around "cond", GCC does not warn about the assignment
>in the condition.
>
>One idea is to rewrite ATF_REQUIRE to be "if (cond) {} else", which
>would make GCC complain directly.
>
>Another idea is to make lint warn about the pattern "!(a = b)", even
>though its output is not looked upon by many people.

Yes, I was thinking along the same lines. If the gcc construct does not
produce warnings, I would go with that.

christos

Reply via email to