On 18-09-23 21:09, Martin Uecker wrote:
I do not understand why memcheck cares about the potential trap when
deciding to do the backwards transformation that combines the two
comparisons? Can't you just remove this condition? I assume it
is meant as a filter to only transform cases which really come
from an '&&' condition in the source, but as this example show, this
is too strict. Or am I missing something?
My understanding is that this is a generic transformation of
if (a && b) [which might have been transposed from if (b && a)]
into
if (a & b) [with appropriate extension to the right size].
That means both get evaluated and we can't take that risk that one of
them traps.
A+
Paul