>    *wide = new + ((unsigned long) (new < *wide) << 16 << 16);

> The comment says "Treating the comparison as a 1 and shifting it
> avoids a conditional branch".

Only on architectures with conditional moves - and, on those, the
version using ? : is likely to compile down to a conditional move
anyway.  I think that comment should be fixed.

> I guess the sizeof comparison would not be necessary since the
> condition should never meet with 64-bit longs.

Unless it's in a code fragment that's used only on machines with
<64-bit longs, it will; X runs on systems with 64-bit longs.

> And if it does, something is wrong anyway (from my understanding).
> After all this is the trigger of the bug.

Does anyone know whether the bug triggers on systems with 64-bit longs?

/~\ The ASCII                             Mouse
\ / Ribbon Campaign
 X  Against HTML                mo...@rodents-montreal.org
/ \ Email!           7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B
_______________________________________________
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to