Boost logo

Boost :

Subject: Re: [boost] C++03 / C++11 compatibility question for compiled libraries
From: Paul A. Bristow (pbristow_at_[hidden])
Date: 2018-02-09 16:15:58


> -----Original Message-----
> From: Boost [mailto:boost-bounces_at_[hidden]] On Behalf Of Hans Dembinski via Boost
> Sent: 09 February 2018 10:52
> To: boost_at_[hidden]
> Cc: Hans Dembinski
> Subject: Re: [boost] C++03 / C++11 compatibility question for compiled libraries
>
>
> > On 9. Feb 2018, at 10:31, Richard Hodges via Boost <boost_at_[hidden]> wrote:
> >
> >> Isn't it time to require C++11 to avoid spending / wasting time on these issues?
> >
> > +1
> >
> > Upgrading one’s compiler to adopt the current standard is free and riskless.

Upgrading other people's compilers may not be free and riskless?

Historically Boost has always taken the line that *each library* is allowed to set its minimum compiler/standard level.

So if a library declares it needs C++11 (or indeed C++14, C++17, C++20 ...), then that’s fine. In fact, it's more than fine - it's excellent ;-)

(The recently reviewed Outcome looks like it may need C++20, for example).

More complicated is if an existing library wants to up its requirements. Sometimes this can be achieved using macro tests - and Boost is massively complicated by doing this already.

Many libraries author who want to make a big step like moving to C++11(++) may find it easier to have a separate new version 2 (3...) as this allows them to take full advantage of new features to do things better (and cut the crap). This clearly suits those that don't want to update compilers.

Authors wanting to make a breaking change like requiring C++11(++) can also take the line that those who won't update Boost can only continue using C++03 by freezing at an old Boost version.

This policy puts pressure on people to upgrade compilers without 'holding a gun to their heads'.

I think we should continue to follow this policy, allowing library authors to make the decisions as they see fit, but to loudly announce breaking changes like this well ahead so that people know what will happen (especially if they don't upgrade).

My two (old) pence ;-)

Paul

---
Paul A. Bristow
Prizet Farmhouse
Kendal UK LA8 8AB
+44 (0) 1539 561830

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