On Mon. 18 nov. 2024 à 07:58, Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote: > The "0*!(x)" is admittedly kind of ugly, and might be prettier as > "0&&(x)". Same number of characters, but technically one op less and > not mixing booleans and integer ops. I did a tree wide replacement of __is_constexpr() with is_const() and did an allyesconfig build test. It yields a -Wint-in-bool-context warning in GCC for both the "0*!(x)" and the "0&&(x)" each time the expression contains non-boolean operators, for example: * or <<. I reproduced it in godbolt here: https://godbolt.org/z/5Wcbvanq3 Aside from this warning, the allyesconfig build succeeded. Yours sincerely, Vincent Mailhol