https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54005
--- Comment #19 from Eric Gallager <egallager at gcc dot gnu.org> --- (In reply to Jonathan Wakely from comment #18) > (In reply to Hans-Peter Nilsson from comment #16) > > (In reply to Jonathan Wakely from comment #14) > > > Can we close this? > > > > No. IIUC, we're still/again using __atomic_is_lock_free with alignment > > deduced from the current object rather than the type (even though it's now a > > proxy-object; the faked pointer is constructed from the alignment of the > > current object). > > It's constructed from __alignof(_M_i) and since r221945 that is given a > fixed alignment: > > static constexpr int _S_alignment = > sizeof(_ITp) > alignof(_ITp) ? sizeof(_ITp) : alignof(_ITp); > > alignas(_S_alignment) __int_type _M_i; > > So it will be the same for all objects of the type. > > There was an additional fix in r227878 for Bug 65913. > > > So, r221701 was wrong to change from null to the alignment-deduced > > fake-pointer. > > I think the current code is right, and per-type. > > I still want to close this. With what resolution? FIXED? WORKSFORME?