diff --git a/Eigen/src/Householder/Householder.h b/Eigen/src/Householder/Householder.h index 8a274d240..ea39e4c30 100644 --- a/Eigen/src/Householder/Householder.h +++ b/Eigen/src/Householder/Householder.h @@ -74,10 +74,10 @@ void MatrixBase::makeHouseholder( EIGEN_STATIC_ASSERT_VECTOR_ONLY(EssentialPart) VectorBlock tail(derived(), 1, size()-1); - RealScalar tailSqNorm; + RealScalar tailSqNorm = size()==1 ? 0 : tail.squaredNorm(); Scalar c0 = coeff(0); - if( (size()==1 || (tailSqNorm=tail.squaredNorm()) == RealScalar(0)) && ei_imag(c0)==RealScalar(0)) + if( tailSqNorm == RealScalar(0) && ei_imag(c0)==RealScalar(0)) { *tau = 0; *beta = ei_real(c0);