[Development] QtCS: Notes from Modern C++ session

Marc Mutz marc.mutz at kdab.com
Mon Jun 15 21:30:25 CEST 2015


On Monday 15 June 2015 17:43:58 Olivier Goffart wrote:
> On Unix: Clang and GCC build are compatible,

Yes.

> C++03/C++11/C++14 builds are 
> compatible.

No. On C++98, std::list is required to have O(1) splice(), in C++11+, O(1) 
size() instead. The two are mutually exclusive, so std::list cannot be BC. And 
at some point GCC will (have to change|will have changed) its basic_string 
implementation to not be CoW anymore.

> Debug/release build are compatible, libstdcpp and libcpp
> builds  are currently compatible. Exceptions/-fno-exceptions build are
> supposed to be compatibles. And you can mix and match.

And all of this will still be true. Except that - like every other C++ library 
- distributions need to deal with the incompatibility of std::list and 
std::basic_string between C++98 and C++11.

Thanks,
Marc

-- 
Marc Mutz <marc.mutz at kdab.com> | Senior Software Engineer
KDAB (Deutschland) GmbH & Co.KG, a KDAB Group Company
Tel: +49-30-521325470
KDAB - The Qt Experts



More information about the Development mailing list