Hello, The patch "intrin-impl.h: Use volatile argument for __buildbittesti-based functions." is not working well for me (I can't compile GCC with this patch).
The problem is with one extra 'volatile': @@ -615,28 +614,28 @@ __buildstos(__stosq, unsigned __int64, "q|q") #endif /* __INTRINSIC_PROLOG */ #if __INTRINSIC_PROLOG(_interlockedbittestandset64) -__MINGW_EXTENSION unsigned char _interlockedbittestandset64(__int64 *a, __int64 b); +__MINGW_EXTENSION unsigned char _interlockedbittestandset64(__int64 volatile *a, __int64 b); #if !__has_builtin(_interlockedbittestandset64) __INTRINSICS_USEINLINE -__buildbittesti(_interlockedbittestandset64, __int64, "lock bts{q %[Offset],%[Base] | %[Base],%[Offset]}" __FLAGSET, "J", __int64) +__buildbittesti(_interlockedbittestandset64, __int64 volatile, "lock bts{q %[Offset],%[Base] | %[Base],%[Offset]}" __FLAGSET, "J") in the last line in the second param '__int64 volatile' could/should be without volatile (which is always added by __buildbittesti macro). Apart from that the patch is OK for me. Mateusz ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public