Clang presents as GCC 4.2.1, so it was always using the fallbacks for `InterlockedExchange{,Pointer}` on the non-PE side.
The fix for the GCC `__atomic_*` bug linked in the comment for the `__WINE_ATOMIC_*` macros first appeared in GCC 8: https://github.com/gcc-mirror/gcc/commit/d8c40eff56f69877b33c697ded756d50fde...