From 63e5cf525f72b4bbb4bff358fdc4758f947e3ee1 Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Sun, 29 May 2011 11:23:31 +0200 Subject: [PATCH] work around an ICE with ICC 12 --- Eigen/src/Core/Product.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Eigen/src/Core/Product.h b/Eigen/src/Core/Product.h index b45946044..e2035b242 100644 --- a/Eigen/src/Core/Product.h +++ b/Eigen/src/Core/Product.h @@ -426,7 +426,8 @@ template<> struct gemv_selector gemv_static_vector_if static_dest; - bool alphaIsCompatible = (!ComplexByReal) || (imag(actualAlpha)==RealScalar(0)); + // this is written like this (i.e., with a ?:) to workaround an ICE with ICC 12 + bool alphaIsCompatible = (!ComplexByReal) ? true : (imag(actualAlpha)==RealScalar(0)); bool evalToDest = EvalToDestAtCompileTime && alphaIsCompatible; RhsScalar compatibleAlpha = get_factor::run(actualAlpha);