Boost logo

Boost :

Subject: Re: [boost] ABI issues with -std
From: Olaf van der Spek (ml_at_[hidden])
Date: 2018-08-20 07:37:46


On Sun, Aug 19, 2018 at 10:57 PM, Andrey Semashev via Boost
<boost_at_[hidden]> wrote:
> I solved this in Boost.Log this way:
>
> struct Y
> {
> void f( X const& x );
>
> #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
>
> void f( X&& x ) { f_move(x); }
>
> #endif
>
> private:
> void f_move(X& x);
> };

Only works if void f( X&& x ) is inlined and even then it still
violates ODR doesn't it?

> As a slightly different variant of the Boost.System2 solution, I can
> suggest building multiple Boost.System binaries, one per ABI we can
> support.

That'd require library name mangling on Linux and adding the std level
to the name..

-- 
Olaf

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