fix bug in triangular matrix-vector produce found by eigen2 tests!
diff --git a/Eigen/src/Core/products/TriangularMatrixVector.h b/Eigen/src/Core/products/TriangularMatrixVector.h
index 03b2ad3..c1f64dc 100644
--- a/Eigen/src/Core/products/TriangularMatrixVector.h
+++ b/Eigen/src/Core/products/TriangularMatrixVector.h
@@ -202,7 +202,7 @@
                                * RhsBlasTraits::extractScalarFactor(m_rhs);
 
     internal::product_triangular_matrix_vector
-      <Index,(Mode & UnitDiag) | (Mode & Lower) ? Upper : Lower,
+      <Index,(Mode & UnitDiag) | ((Mode & Lower) ? Upper : Lower),
        typename _ActualRhsType::Scalar, RhsBlasTraits::NeedToConjugate,
        typename _ActualLhsType::Scalar, LhsBlasTraits::NeedToConjugate,
        (int(internal::traits<Rhs>::Flags)&RowMajorBit) ? ColMajor : RowMajor>