This bugzilla service is closed. All entries have been migrated to

Bug 1564

Summary: Internal compiler error when using matrix multiplication (MSVC 2010)
Product: Eigen Reporter: Tobias Jost <tobias.jost>
Component: Core - matrix productsAssignee: Nobody <eigen.nobody>
Status: NEW ---    
Severity: Compilation Problem CC: chtz, gael.guennebaud
Priority: Lowest    
Version: 3.3 (current stable)   
Hardware: x86 - 64-bit   
OS: Windows   
Description Flags
Demo none

Description Tobias Jost 2018-06-29 15:11:59 UTC
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.
Comment 1 Christoph Hertzberg 2018-07-02 13:25:17 UTC
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.
Comment 2 Nobody 2019-12-04 17:45:12 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to'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: