[ 
https://issues.apache.org/jira/browse/MESOS-750?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13945593#comment-13945593
 ] 

Dominic Hamon commented on MESOS-750:
-------------------------------------

Current master has the following semantics for CXX11:

 * Default --with_cxx11 to 'yes'.
 * If clang is detected, force --with_cxx11 to yes and warn.
 * If g++-4.7 is detected, force --with_cxx11 to no and warn.
 * Use m4 template to check C++11 feature support.

The gcc 4.7 check is required as libprocess' future code uses CXX11 features 
that are not supported by gcc 4.7 in the CXX11 code path. The non-CXX11 code 
path uses std::tr1 so can't be used for gcc 4.7 in CXX11 mode.

To get to the point where we require CXX11, the following steps should be taken:

 * Change the configure scripts to remove with_cxx11.
 * Ensure CXX11 language features we want to use are covered by the m4 template.
 * Decide how to handle gcc 4.7:
 ** Disallow it completely.
 ** Change libprocess to not use std::tr1 in the 'non-CXX11 path' and force gcc 
4.7 to use that path
 * Publish style guide changes covering use of CXX11:
 ** Which features are allowed.
 ** Best practices for things like capturing in lambdas.

> Require compilers that support c++11
> ------------------------------------
>
>                 Key: MESOS-750
>                 URL: https://issues.apache.org/jira/browse/MESOS-750
>             Project: Mesos
>          Issue Type: Improvement
>            Reporter: Benjamin Mahler
>              Labels: technical_debt
>             Fix For: 0.19.0
>
>
> Requiring C++11 support will provide substantial benefits to Mesos.
> Most notably, the lack of lambda support has resulted in a proliferation of 
> continuation style functions scattered throughout the code. Having lambdas 
> will allow us to reduce this clutter and simplify the code.
> This will require carefully documenting how to get Mesos compiling on various 
> systems to make this transition easy.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to