From 59576014a997d530df8d6f0e1191efc47b919ed1 Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Mon, 5 Dec 2011 09:44:25 +0100 Subject: [PATCH] fig bug #373: compilation error with clang 2.9 when exceptions are disabled (cannot reproduce with clang 3.0 or 3.1) --- Eigen/src/Core/util/Memory.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Eigen/src/Core/util/Memory.h b/Eigen/src/Core/util/Memory.h index f63efbcf1..1b8f3a99c 100644 --- a/Eigen/src/Core/util/Memory.h +++ b/Eigen/src/Core/util/Memory.h @@ -87,7 +87,8 @@ inline void throw_std_bad_alloc() #ifdef EIGEN_EXCEPTIONS throw std::bad_alloc(); #else - new int[size_t(-1)]; + std::size_t huge = -1; + new int[huge]; #endif } @@ -483,7 +484,7 @@ inline static Index first_aligned(const Scalar* array, Index size) } -// std::copy is much slower than std::copy, so let's introduce a smart_copy which +// std::copy is much slower than memcpy, so let's introduce a smart_copy which // use memcpy on trivial types, i.e., on types that does not require an initialization ctor. template struct smart_copy_helper;