Subject: Re: [boost] [lockfree] _ENABLE_ATOMIC_ALIGNMENT_FIX for VS 2015Update 2
From: Stephan T. Lavavej (stl_at_[hidden])
Date: 2016-05-10 19:54:28
> We guarantee bincompat between Updates. We break it between major
> doesn't the compile error tells us that this is not the case here?
This is a special case, upholding the general principle.
Because we don't want to silently break binary compatibility, when we're forced with a choice between doing that, or silent bad codegen (since we can't know whether the user is manually aligning, and almost nobody does), we avoid both by emitting a compiler error. This requires user action, either to avoid the scenario (e.g. by increasing the alignment of their type), or to tell the STL "go ahead and activate the fix, I'm not mixing layouts".
I tried to explain this in the static_assert to the best of my ability.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk