New user self-registration is currently disabled. Please email eigen-core-team @ if you need an account.
Bug 1067 - name conflict: IsRowMajor in GeneralProduct<Lhs,Rhs,OuterProduct>
name conflict: IsRowMajor in GeneralProduct<Lhs,Rhs,OuterProduct>
Product: Eigen
Classification: Unclassified
Component: Core - general
All All
: Normal Compilation Problem
Assigned To: Nobody
Depends on:
  Show dependency treegraph
Reported: 2015-09-18 03:58 UTC by thduynguyen
Modified: 2015-09-19 19:46 UTC (History)
3 users (show)


Description thduynguyen 2015-09-18 03:58:36 UTC
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.
Comment 1 Gael Guennebaud 2015-09-19 19:46:36 UTC
Thank you for the report.


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