Lo xor "vero" in C e C++ è da sempre ^; "xor" è semplicemente una macro disponibile se includi <iso646.h>. Può essere che in MinGW venga incluso per vie traverse; in ogni caso, l'header in questione è standard, ti basta includerlo esplicitamente.
http://www.cplusplus.com/reference/ciso646/