σ>В MSVC по-умолчанию доступ к volatile-объектам имеет acquire-release семантику https://docs.microsoft.com/en-us/cpp/cpp/volatile-cpp?view=msvc-170#end-of-iso-conformant
Ах вот оно что! Спасибо! А я гадаю, как это код у Евгения вообще работает.
Вот это правда немного смущает
When it relies on the enhanced guarantee that's provided when the /volatile:ms compiler option is used, the code is non-portable.