https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54005
--- Comment #34 from Hans-Peter Nilsson <hp at gcc dot gnu.org> --- (In reply to Jonathan Wakely from comment #32) > I would prefer a function template instead of the LF macro e.g. That will lose the __LINE__ information from the supposed error message in VERIFY, i.e. it'll point at the check function rather than the unique invoking line. > So the premise that "is_lock_free() is per-type implies it's the same as > always_lock_free" is wrong. Ouch. That again exposes the __is_lock_free() flaws. But that's for another bug. Can I at least change - reinterpret_cast<void *>(-__alignof(_M_i))); + reinterpret_cast<void *>(-_S_alignment)); ?