New user self-registration is currently disabled. Please email eigen-core-team @ lists.tuxfamily.org if you need an account.
View | Details | Raw Unified | Return to bug 125 | Differences between
and this patch

Collapse All | Expand All

(-)a/Eigen/Core (-3 / +3 lines)
 Lines 93-105    Link Here 
93
    #endif
93
    #endif
94
94
95
    // include files
95
    // include files
96
    #if (defined __GNUC__) && (defined __MINGW32__)
96
    #if (defined __GNUC__) && (defined __MINGW32__)  && (__SIZEOF_POINTER__ == 8)
97
      #include <intrin.h>
97
      #include <intrin.h>
98
      //including intrin.h works around a MINGW bug http://sourceforge.net/tracker/?func=detail&atid=102435&aid=2962480&group_id=2435
98
      //including intrin.h works around a MINGW-w64 bug https://sourceforge.net/tracker/index.php?func=detail&aid=3018394&group_id=202880&atid=983354
99
      //in essence, intrin.h is included by windows.h and also declares intrinsics (just as emmintrin.h etc. below do).  However,
99
      //in essence, intrin.h is included by windows.h and also declares intrinsics (just as emmintrin.h etc. below do).  However,
100
      //intrin.h uses an extern "C" declaration, and g++ thus complains of duplicate declarations with conflicting linkage.  The linkage for intrinsics
100
      //intrin.h uses an extern "C" declaration, and g++ thus complains of duplicate declarations with conflicting linkage.  The linkage for intrinsics
101
      //doesn't matter, but at that stage the compiler doesn't know; so, to avoid compile errors when windows.h is included after Eigen/Core,
101
      //doesn't matter, but at that stage the compiler doesn't know; so, to avoid compile errors when windows.h is included after Eigen/Core,
102
      //include intrin here.
102
      //include intrin here.  We do this only in 64-bit since plain mingw doesn't have intrin.h.
103
    #endif
103
    #endif
104
    #include <emmintrin.h>
104
    #include <emmintrin.h>
105
    #include <xmmintrin.h>
105
    #include <xmmintrin.h>

Return to bug 125