[eigen] About dropping C++03 compatibility

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


this a follow-up of another thread that deviated towards the question of what should be the minimal c++ version required for future Eigen's version.

Just to be clear, the 3.4 version will be fully compatible with C++03, while exposing/taking-advantage-of a few C++11, C++14, and even C++17 features when available.

There is, however, a limit in conditionally enabling features based on the available c++ version, and maintaining multiple variants is out of reach for us.

Moreover, switching to c++11 or even 14 would help *a lot* in day-to-days Eigen coding with many opportunities to simplify the code base, logics, compilation-times, unit-testing, etc.

Based on this table: https://en.cppreference.com/w/cpp/compiler_support, requiring c++11 implies:
- GCC 4.8.1
- clang 3.3
- MSVC 2015 (19.00)
- ICC 15.0.

They are all 6 years old already.
For c++14, if we don't require extended constexpr nor NSDMI, then the requirements are:
- GCC 5
- clang 3.4
- MSVC 2015
- ICC 17.00.

Except for ICC, the difference is small.

My guess is that such a change will most likely impact some MSVC 2012/2013 users, but:
1) the post 3.4 release is still a far reach!
2) we can maintain the 3.4 branch a longer time as we did when switching from Eigen 2 to 3.

What do you think?


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/