This bugzilla service is closed. All entries have been migrated to
Bug 1583 - Requiring C++14 for setting EIGEN_HAS_CONSTEXPR is too strict
Summary: Requiring C++14 for setting EIGEN_HAS_CONSTEXPR is too strict
Status: NEW
Alias: None
Product: Eigen
Classification: Unclassified
Component: Core - expression templates (show other bugs)
Version: 3.4 (development)
Hardware: All All
: Normal Compilation Problem
Assignee: Nobody
Depends on:
Reported: 2018-08-06 23:25 UTC by Rasmus Munk Larsen
Modified: 2019-12-04 17:51 UTC (History)
5 users (show)


Description Rasmus Munk Larsen 2018-08-06 23:25:24 UTC
The commit:

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.
Comment 1 Rasmus Munk Larsen 2018-08-06 23:42:40 UTC
I meant to say that it "disables the IndexLists mechanism", i.e.
Comment 2 Rasmus Munk Larsen 2018-08-15 23:13:19 UTC
Friendly ping. Can we revert this particular part of the change?
Comment 3 Gael Guennebaud 2018-08-16 12:09:57 UTC
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.
Comment 4 Gael Guennebaud 2018-08-16 12:13:46 UTC
Maybe we should define two variants to handle cases for which relaxed constexpr is not required?

Comment 5 Rasmus Munk Larsen 2018-08-16 16:24:45 UTC
Yes, having two levels of support would be my preference too.
Comment 6 Nobody 2019-12-04 17:51:11 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to'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:

Note You need to log in before you can comment on or make changes to this bug.