RFC: Move to C++14

Alexandros Frantzis alexandros.frantzis at canonical.com
Tue Feb 17 12:37:31 UTC 2015

Hi all,

I think it's to time to consider moving from C++11 to C++14 (at least
the C++14 features our compilers support). C++14 offers some useful
improvements over C++11, like:

* std::make_unique()
* standard literal suffixes for std::chrono (e.g. auto delay = 10ms;)
* std::shared_timed_mutex (aka RW mutex)
* generic lambdas
* lambda capture initializers (which, importantly, allow moving values into

Moving to C++14 means that we will not be able to build Mir on a
pristine Ubuntu LTS 14.04 system. Note that, even now, Mir cannot be
fully built on the LTS because of changes in the Android interfaces. As
things currently stand, I believe that dropping support for 14.04 builds
in order to allow C++14 is a worthy trade-off.

In addition, not supporting 14.04 builds means that we will be able to
use all the new features of other libraries we depend on, e.g.

It's also worth noting that our packages depend on g++-4.9 (which
supports the C++14 features we want).

I have published an MP introducing C++14 into our codebase:


Let me know what you think.


More information about the Mir-devel mailing list