diff options
author | Martijn Berger <martijn.berger@gmail.com> | 2015-12-10 16:59:17 +0300 |
---|---|---|
committer | Martijn Berger <martijn.berger@gmail.com> | 2015-12-10 17:00:30 +0300 |
commit | e9825ad9f34c12b36ad75237102fdcbe8c2369d4 (patch) | |
tree | c0d280e28092d4be24dbdc30494444c8e543bc17 | |
parent | 2f57b1cece3917fc91fe8ca3fcfb4add4a08db59 (diff) |
MSVC 2015 fix hack around internal compiler crash on openmp atomic
Eigen3 bug report: http://eigen.tuxfamily.org/bz/show_bug.cgi?id=1131
-rw-r--r-- | extern/Eigen3/Eigen/src/Core/products/GeneralMatrixMatrix.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/extern/Eigen3/Eigen/src/Core/products/GeneralMatrixMatrix.h b/extern/Eigen3/Eigen/src/Core/products/GeneralMatrixMatrix.h index 3f5ffcf51c7..a36c7c7a61c 100644 --- a/extern/Eigen3/Eigen/src/Core/products/GeneralMatrixMatrix.h +++ b/extern/Eigen3/Eigen/src/Core/products/GeneralMatrixMatrix.h @@ -140,8 +140,14 @@ static void run(Index rows, Index cols, Index depth, // Release all the sub blocks B'_j of B' for the current thread, // i.e., we simply decrement the number of users by 1 for(Index j=0; j<threads; ++j) + { #pragma omp atomic +#if defined(_MSC_VER) && _MSC_VER >= 1900 + (info[j].users) -= 1; +#else --(info[j].users); +#endif + } } } else |