[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