For purposes of loop progress, does “atomic operation” include fences? C++ has a “forward progress” requirement for loops: