Hello,
Here is the code which compiles fine with MSVC 2010, ICC 11, 12, 13 but 13.1 with latest update 5 chokes on it:
#include <Eigen/SparseQR>
using namespace Eigen;
int main() {
typedef Eigen::SparseMatrix< double > SparseDoubleMatrix;
SparseQR< SparseDoubleMatrix, COLAMDOrdering<int> > solver;
SparseDoubleMatrix A(10,10); // Just dummy matrix for now (I know how to use SparseMatrices properly :))
solver.compute(A);
}
See this thread for more information: http://forum.kde.org/viewtopic.php?f=74&t=112254&p=289884
My system is Windows 7 64-bit, Intel C++ integrated into MSVC2010.
Overall last update seems to have some imperfections. The most painful among other issues - multi-processor compilation (/MP) doesn't work anymore (before update 5 it worked just fine on the same project).
How I can roll back to previous update?
Thank you,
Pavel.
Link Copied
@ Did you verify SparseQR why class Eigen::BlockImpl does not have any longer the C++ operator =?
Of course, class Eigen::BlockImpl has "operator=" implemented. Other compilers have no problem with compiling the same code - MSVC2010, gcc and even ICC for Linux.
The only compiler complaing about non-existent "operator=" (which is in fact implemented) - ICC for Windows.
This is very unfortunate since Eigen is one of the most used C++ libraries for matrix cdomputrations (code comes from it).
Any ideas when this case will be investigated and bug fix issued (if any)?
Thank you,
Pavel.
For more complete information about compiler optimizations, see our Optimization Notice.