RFC: Move to C++14

Kevin Gunn kevin.gunn at canonical.com
Thu Feb 19 15:03:04 UTC 2015


right, aren't android base & gmocks are also out of sync ?
br,kg

On Thu, Feb 19, 2015 at 8:59 AM, Cemil Azizoglu <
cemil.azizoglu at canonical.com> wrote:

> Trusty is not dropped. At least, not because we have moved to C++14. If
> supporting Trusty were as simple as having compiler support, we already
> have that with the PPA for 4.9 Chris pointed out. Though, other reasons
> making that support difficult remain. But those are not related to the
> choice of compiler.
>
> Thanks,
> Cemil
>
>
> On Wed, Feb 18, 2015 at 8:12 PM, Daniel van Vugt <
> daniel.van.vugt at canonical.com> wrote:
>
>> We do seem to be guilty of having the same conversations in multiple
>> different places a lot :)
>>
>> Just FYI, the nail is in the coffin. C++14 support landed last night. So
>> trusty is dropped I guess.
>>
>>
>>
>> On 18/02/15 12:43, Daniel van Vugt wrote:
>>
>>> As a compromise why don't we say Mir supports the latest LTS only?
>>>
>>> So 14 months from now, we'll be free to jump to C++14 (and it will be
>>> more mature in implementation by then). But until then, we would stick
>>> to C++11 for trusty.
>>>
>>>
>>>
>>> On 18/02/15 09:39, Daniel van Vugt wrote:
>>>
>>>> I think this is a bad idea.
>>>>
>>>> Supporting trusty with the latest Mir is presently easy, as
>>>> demonstrated:
>>>> https://code.launchpad.net/~vanvugt/mir/revive-trusty/+merge/249789
>>>>
>>>> Using newer language specs I think is contrary to engineering maturity.
>>>> Because it means we knowingly and needlessly reduce the number of
>>>> distros Mir can support. And we also make the learning curve for people
>>>> even steeper (fewer C++ developers know the new language features).
>>>>
>>>> Overall this will lead to reduced adoption by users and reduced
>>>> participation by developers. We need to be careful and draw the line
>>>> somewhere... stop upgrading to the latest C++ every time one comes
>>>> along.
>>>>
>>>> - Daniel
>>>>
>>>>
>>>> On 17/02/15 20:37, Alexandros Frantzis wrote:
>>>>
>>>>> 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
>>>>>    lambdas)
>>>>>
>>>>> 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.
>>>>> gmock/gtest.
>>>>>
>>>>> 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:
>>>>>
>>>>> https://code.launchpad.net/~afrantzis/mir/introduce-c++14/
>>>>> +merge/249988
>>>>>
>>>>> Let me know what you think.
>>>>>
>>>>> Thanks,
>>>>> Alexandros
>>>>>
>>>>>
>>>>
>>>
>> --
>> Mir-devel mailing list
>> Mir-devel at lists.ubuntu.com
>> Modify settings or unsubscribe at: https://lists.ubuntu.com/
>> mailman/listinfo/mir-devel
>>
>
>
>
> --
> Cemil Azizoglu
> Mir Display Server - Team Lead
> Canonical USA
>
> --
> Mir-devel mailing list
> Mir-devel at lists.ubuntu.com
> Modify settings or unsubscribe at:
> https://lists.ubuntu.com/mailman/listinfo/mir-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/mir-devel/attachments/20150219/c2db7aa0/attachment.html>


More information about the Mir-devel mailing list