[llvm-dev] [RFC] migrating past C++11

Stephen Kelly via llvm-dev llvm-dev at lists.llvm.org
Wed Jan 23 12:55:50 PST 2019

On 22/01/2019 21:44, JF Bastien via llvm-dev wrote:
> The compiler versions I propose allow us to use all of C++14, which 
> includes:
>   * Binary literals
>     <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3472.pdf>
>   * decltype(auto), Return type deduction for normal functions
>     <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3638.html>
>   * Initialized/Generalized lambda captures (init-capture)
>     <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3648.html>
>   * Generic (polymorphic) lambda expressions
>     <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3649.html>
>   * Variable templates
>     <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3651.pdf>
>   * Member initializers and aggregates (NSDMI)
>     <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3653.html>
>   * A bunch of new constexpr language and library features
>   * Various other language and library features
> See CppReference 
> <https://en.cppreference.com/w/cpp/compiler_support> for details.
> Of these, I think polymorphic lambdas are the big feature. Of course, 
> just like Almost Always Auto, we should use such things only where it 
> makes sense.

Note that when we discussed moderate use of `auto` recently, there was 
no consensus that auto-in-lambdas (ie polymorphic lambdas) should be 
permitted. It's kind of strange to see it hailed as a 'big feature' if 
consensus is not that it should be permitted.

Is there a need for more guidelines about this or any other of these 
newly-unlocked features?



More information about the llvm-dev mailing list