*** working on gcc version 3.3.6
A swap operation between two integers doesn't works for class members.
i ^= j ^= i ^= j;
after the operation above, "i" will value 0 (zero), if i and j are class members.
*** This bug has been marked as a duplicate of 11751 ***