------- Additional Comments From pinskia at gcc dot gnu dot org 2005-06-30 13:26 ------- There is no sequence points between the assignments of a[i] so the loading of a[i] can be evaluated in any order. You want to define swap as: #define swap(a,b) do{ a^=b;b^=a;a^=b;}while(0)
This is a dup of bug 11751. *** This bug has been marked as a duplicate of 11751 *** -- What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |DUPLICATE http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22248