Boost logo

Boost :

From: Andrey Semashev (andrey.semashev_at_[hidden])
Date: 2020-12-02 15:50:39


On 12/2/20 6:42 PM, Jeff Garland via Boost wrote:
> On Wed, Dec 2, 2020 at 3:12 AM Andrey Semashev via Boost <
> boost_at_[hidden]> wrote:
>>
>> You have to give credit to libstdc++ developers at the very least. It
>> maintains backward ABI compatibility across all C++ standard versions
>> and across libstdc++ releases for many years. I think, libc++ also does
>> the same, although I'm not following its development.
>
> Well 'the credit' is that anything that changes the std:: ABI is a fight in
> the committee -- there's even a special working group - so real tough to
> get an ABI change into the standard. To me it makes sense that boost
> should break ABI like mad and the standard should strive for more stability
> with occasional ABI breaks.

Although the committee does monitor changes that may affect ABI in real
implementations, the standard does not define the ABI. It is
implementors burden to maintain a stable ABI.

As an example of this, libstdc++ had to switch their basic_string to a
non-reference counted implementation when they added support for C++11,
and they had to maintain both versions ever since. The standard,
obviously, only defines one basic_string.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk