IsRowMajor is an enum value defined in DenseBase. However, in the template specialization of GeneralProduct<Lhs,Rhs,OuterProduct>, derived from ProductBase<--MatrixBase<--DenseBase, another struct is defined with the same name IsRowMajor. This causes a compilation error in Assign_MKL.h, line 51 when MKL is enabled:
Eigen/Eigen/src/Core/Assign_MKL.h:51:50: error: dependent-name ‘Src:: IsRowMajor’ is parsed as a non-type, but instantiation yields a type
StorageOrdersAgree = (int(Dst::IsRowMajor) == int(Src::IsRowMajor)),
Changing the struct's name seems to fix the problem.
Thank you for the report.
-- 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/1067.