[llvm-dev] [RFC] migrating past C++11 (original) (raw)

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/compilersupport> 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?

Thanks,

Stephen.



More information about the llvm-dev mailing list