The commit: https://bitbucket.org/eigen/eigen/commits/546e45a188c9d4d130316489dde4797145287cbb changed the definition of EIGEN_HAS_CONSTEXPR such that it is only set for C++14 compilers. This is needlessly strict and breaks the IndexLists mechanism used to infer tensor shapes and sizes at compile time in TensorFlow. It also breaks certain legacy builds internal to Google that rely on IndexList.
I meant to say that it "disables the IndexLists mechanism", i.e. https://bitbucket.org/eigen/eigen/src/e2ea08bbbe573237b3d196e07ad307eef26aaf7a/unsupported/Eigen/CXX11/src/Tensor/TensorIndexList.h#lines-14
Friendly ping. Can we revert this particular part of the change?
hm, I don't see how this commit change anything regarding EIGEN_HAS_CONSTEXPR. AFAIK we always required c++14 to enable EIGEN_HAS_CONSTEXPR. I added Benoit Steiner in CC as I think its him who first introduced EIGEN_HAS_CONSTEXPR.
Maybe we should define two variants to handle cases for which relaxed constexpr is not required? EIGEN_HAS_CXX11_CONSTEXPR EIGEN_HAS_CXX14_CONSTEXPR
Yes, having two levels of support would be my preference too.
-- GitLab Migration Automatic Message -- This bug has been migrated to gitlab.com's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.com/libeigen/eigen/issues/1583.