Let me clarify first that when I say &quot;Linux&quot; in this post, I&#x27;m specifically referring to the Linux kernel, not user-space software that runs on Linux.<p>The Linux kernel is written in C, but uses lots of GCC-specific features and inline assembly to address things that aren&#x27;t covered by the C standard.  Among these, the Linux kernel has its own set of atomic types and memory barriers.  It documents them here: <a href="https:&#x2F;&#x2F;www.kernel.org&#x2F;doc&#x2F;Documentation&#x2F;memory-barriers.txt" rel="nofollow">https:&#x2F;&#x2F;www.kernel.org&#x2F;doc&#x2F;Documentation&#x2F;memory-barriers.txt</a><p>So even if Linux is being compiled on a conforming C11 compiler (the Linux kernel is written in C, not C++), it uses its own atomic primitives instead of the ones provided by the language.  Hope that helps.