From: Stephan T. Lavavej (stl_at_[hidden])
Date: 2019-07-19 18:04:33
Nope! Sometimes you can get away with it.
From: Olaf van der Spek <ml_at_[hidden]>
Sent: Friday, July 19, 2019 2:55 AM
To: boost <boost_at_[hidden]>
Cc: Stephan T. Lavavej <stl_at_[hidden]>
Subject: Re: [boost] MSVC 2019
On Tue, Jul 16, 2019 at 12:01 AM Stephan T. Lavavej via Boost <boost_at_[hidden]> wrote:
> There's a potential issue with doing that. Binary compatibility between the 2015, 2017, and 2019 toolsets comes with a couple of restrictions: no LTCG (which is a non-issue here), and the final link must be performed by a toolset that's as new as (or newer than) all of the object files and libraries being linked. For example, you can't take VS 2019 16.1 (v142) compiled libraries, and perform a final link with VS 2015 RTM (v140). And in practice, I am aware of at least one build break that can be encountered when attempting this (as we added a vectorized implementation of std::reverse that requires separately compiled support to be dragged in during the final link).
Isn't this (no forward compatibility) detected and enforced by the linker?
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk