Subject: Re: [boost] C++03 / C++11 compatibility question for compiled libraries
From: Olaf van der Spek (ml_at_[hidden])
Date: 2018-02-21 10:52:15
On Sun, Feb 18, 2018 at 2:56 PM, Glen Fernandes via Boost
> Olaf van der Spek wrote:
>> Glen Fernandes wrote:
>>> Before I became a contributor to Boost, and before I became a Boost
>>> library author, I was a user of Boost at Microsoft. Even as late as
>>> 2014 when I left the company, those projects depended on Boost for
>>> C++03 support. (In fact, at least one of the projects only dropped
>>> C++03 support as late as 2016).
>> Where did the C++03 support requirement come from though, an old compiler?
>> Even VS 2010 knows some C++11 stuff.
> Supporting teams that were still on older compilers was the motivation, yes.
I'm curious, what'd be the oldest compiler in use (there) anno 2018 and why?
MS has made a lot of progress in 2015 and 2017 IMO.
> Boost was upgraded more frequently than upgrading to a newer compiler
> (even though in this particular case, the compiler was developed
> within the same company). For that project I referenced which dropped
> C++03 support in 2016, they also dropped VC10 support in the same
What compiler did they switch to?
> Those projects came to depend on the reliability of Boost for its
> implementation of standard library facilities that were otherwise
> defective in VC that wouldn't be fixed until the next major release of
> the compiler, while Boost releases were every few months.
> Even trivial standard library things like std::ref, std::addressof,
> std::unique_ptr::~unique_ptr (wrong order of operations in VC10, fixed
> in VC11), std::align (wrong return value in VC11, fixed in VC12),
> std::call_once (was 1500 times slower than InitOnceExecuteOnce, fixed
> in VC14), the list went on.