Skip to content

[3.4 bug] FixedInt<0> error with gcc 4.9.3

Summary

A matrix multiplication using Eigen 3.4 with gcc 4.9.3 leads to a compiler error within GeneralBlockPanelKernel.h

https://godbolt.org/z/ffWsM8jPa

Environment

godbolt

Minimal Example

#include <Eigen/Dense>

int main() {
    Eigen::MatrixXd A = Eigen::MatrixXd::Random(2, 2);
    Eigen::MatrixXd B = Eigen::MatrixXd::Random(2, 2);
    Eigen::MatrixXd C = A * B;

    return 0;
}

Steps to reproduce

See godbolt link above

What is the current bug behavior?

Fails to compile due to

GeneralBlockPanelKernel.h:394:17: note:   no known conversion for argument 1 from 'Eigen::internal::FixedInt<0>()' to 'const Eigen::internal::FixedInt<0>&'

What is the expected correct behavior?

Code compiles

Warning Messages

see godbolt

  • Have a plan to fix this issue.
    • I haven't looked into a solution yet, but this seems to be related to #2230 (closed) and variable templates.