diff --git a/Eigen/src/Core/products/TriangularMatrixVector.h b/Eigen/src/Core/products/TriangularMatrixVector.h index 0e0e6902f..05a5827a9 100644 --- a/Eigen/src/Core/products/TriangularMatrixVector.h +++ b/Eigen/src/Core/products/TriangularMatrixVector.h @@ -301,9 +301,13 @@ struct trmv_selector { } else { // Allocate either with alloca or malloc. Eigen::internal::check_size_for_overflow(actualRhs.size()); +#ifdef EIGEN_ALLOCA buffer = static_cast((sizeof(RhsScalar) * actualRhs.size() <= EIGEN_STACK_ALLOCATION_LIMIT) ? EIGEN_ALIGNED_ALLOCA(sizeof(RhsScalar) * actualRhs.size()) : Eigen::internal::aligned_malloc(sizeof(RhsScalar) * actualRhs.size())); +#else + buffer = static_cast(Eigen::internal::aligned_malloc(sizeof(RhsScalar) * actualRhs.size())); +#endif } #ifdef EIGEN_DENSE_STORAGE_CTOR_PLUGIN Index size = actualRhs.size();