diff --git a/CppCoreGuidelines.md b/CppCoreGuidelines.md index 7006c1c..24ace80 100644 --- a/CppCoreGuidelines.md +++ b/CppCoreGuidelines.md @@ -8051,7 +8051,7 @@ Speaking of concurrency, should there be a note about the dangers of std::atomic A lot of people, myself included, like to experiment with std::memory_order, but it is perhaps best to keep a close watch on those things in production code. Even vendors mess this up: Microsoft had to fix their `shared_ptr` (weak refcount decrement wasn't synchronized-with the destructor, if I recall correctly, although it was only a problem on ARM, not Intel) -and everyone (gcc, clang, Microsoft, and intel) had to fix their c`ompare_exchange_*` this year, +and everyone (gcc, clang, Microsoft, and intel) had to fix their `compare_exchange_*` this year, after an implementation bug caused losses to some finance company and they were kind enough to let the community know. It should definitely mention that `volatile` does not provide atomicity, does not synchronize between threads, and does not prevent instruction reordering (neither compiler nor hardware), and simply has nothing to do with concurrency.