From 8870d33fcdaa25a374a3aca6d9a7fc831b257633 Mon Sep 17 00:00:00 2001 From: Leonid Yuriev Date: Sat, 6 Nov 2021 17:39:55 +0300 Subject: [PATCH] mdbx++: refine `MDBX_CXX01_CONSTEXPR` for legacy compilers. Enable `constexpr` via `MDBX_CXX01_CONSTEXPR` if __cplusplus == 201103L but __cpp_constexpr is undefined. --- mdbx.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mdbx.h b/mdbx.h index 2a9f56fa..e3bf8987 100644 --- a/mdbx.h +++ b/mdbx.h @@ -393,7 +393,8 @@ typedef mode_t mdbx_mode_t; #define MDBX_CXX01_CONSTEXPR __inline #define MDBX_CXX01_CONSTEXPR_VAR const #elif !defined(DOXYGEN) && \ - (!defined(__cpp_constexpr) || __cpp_constexpr < 200704L || \ + ((__cplusplus < 201103L && defined(__cpp_constexpr) && \ + __cpp_constexpr < 200704L) || \ (defined(__LCC__) && __LCC__ < 124) || \ (defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ < 407) && \ !defined(__clang__) && !defined(__LCC__)) || \ @@ -410,7 +411,7 @@ typedef mode_t mdbx_mode_t; #define MDBX_CXX11_CONSTEXPR __inline #define MDBX_CXX11_CONSTEXPR_VAR const #elif !defined(DOXYGEN) && \ - (!defined(__cpp_constexpr) || __cpp_constexpr < 201304 || \ + (!defined(__cpp_constexpr) || __cpp_constexpr < 201304L || \ (defined(__LCC__) && __LCC__ < 124) || \ (defined(__GNUC__) && __GNUC__ < 6 && !defined(__clang__) && \ !defined(__LCC__)) || \