From 1267c7536986490e356f5d2d5da3a1c673d14a87 Mon Sep 17 00:00:00 2001 From: Jeffrey Walton Date: Thu, 17 Aug 2017 18:35:06 -0400 Subject: [PATCH] Fix constexpr issues under GCC 4.1.2 found on CentOS 5 --- misc.h | 4 +++- secblock.h | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/misc.h b/misc.h index 7e8c4ff1..d6cd4212 100644 --- a/misc.h +++ b/misc.h @@ -109,7 +109,9 @@ # define SIZE_MAX __SIZE_MAX__ # elif defined(SIZE_T_MAX) && (SIZE_T_MAX > 0) # define SIZE_MAX SIZE_T_MAX -# else +# elif defined(__SIZE_TYPE__) +# define SIZE_MAX (~(__SIZE_TYPE__)0) +#else # define SIZE_MAX ((std::numeric_limits::max)()) # endif #endif diff --git a/secblock.h b/secblock.h index a2a695af..d38833b8 100644 --- a/secblock.h +++ b/secblock.h @@ -515,7 +515,7 @@ public: #if defined(CRYPTOPP_CXX11) && !defined(CRYPTOPP_DOXYGEN_PROCESSING) enum : size_type { ELEMS_MAX = A::ELEMS_MAX }; #else - static const size_type ELEMS_MAX = A::ELEMS_MAX; + static const size_type ELEMS_MAX = SIZE_MAX/sizeof(T); #endif //! \brief Construct a SecBlock with space for size elements.