https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108734
David Edelsohn <dje at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |dje at gcc dot gnu.org --- Comment #5 from David Edelsohn <dje at gcc dot gnu.org> --- Rohan, I'm sorry that this is confusing, but the issue is cockpit error. __has_builtin() does not mean that the builtin is inlined. It only means that GCC recognizes the builtin. That is how __has_builtin() is documented. In 32 bit mode, GCC emits an external reference for the builtin: 8 byte atomic requires libatomic library, which is not linked by default (and shouldn't be).