Created attachment 867 [details]
In a project using MSVC 2010 64bit I tried upgrading the previously used Eigen 3.2 installation to a more recent 3.3.1 and 3.3.4 version without much success due to an internal compiler error, citing “msc1.cpp” line 1420 as culprit.
I triaged this problem and simplified the code without a clear indication what goes wrong, but I observed:
* It is triggered by a multiplication of 2 Matrix2d objects.
* It is only triggered when using the overloaded "*"-operator, using ".operator*()"-syntax is a workaround.
* It is only triggered when initializing the object doing the multiplication as default argument of another function or constructor.
* It is only triggered when Initializing the parent object outside a function/class in global space
* It is only triggered when it is not the first declaration in global space
I attached a small demo. So far MSVC versions >= 2015 don’t seem to be affected but changing the toolchain isn’t an option for me. I went back to Eigen 3.2 for now.
If someone is interested in further examining this bug I’d be happy to provide further details.
MSVC 2010 is not supported anymore:
So unless someone finds a workaround for this, this will likely be closed as WONTFIX.
Either upgrade your MSVC version, or stay with the old Eigen version.
-- 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/1564.