diff --git a/mdbx.h b/mdbx.h index d259277f..eac303fa 100644 --- a/mdbx.h +++ b/mdbx.h @@ -343,13 +343,14 @@ typedef mode_t mdbx_mode_t; #ifdef __deprecated #define MDBX_DEPRECATED __deprecated #elif defined(DOXYGEN) || \ - (defined(__cplusplus) && __cplusplus >= 201603L && \ - __has_cpp_attribute(maybe_unused) && \ - __has_cpp_attribute(maybe_unused) >= 201603L) || \ + (defined(__cplusplus) && __cplusplus >= 201403L && \ + __has_cpp_attribute(deprecated) && \ + __has_cpp_attribute(deprecated) >= 201309L) || \ (!defined(__cplusplus) && defined(__STDC_VERSION__) && \ - __STDC_VERSION__ > 202005L) + __STDC_VERSION__ >= 202304L) #define MDBX_DEPRECATED [[deprecated]] -#elif defined(__GNUC__) || __has_attribute(__deprecated__) +#elif (defined(__GNUC__) && __GNUC__ > 5) || \ + (__has_attribute(__deprecated__) && !defined(__GNUC__)) #define MDBX_DEPRECATED __attribute__((__deprecated__)) #elif defined(_MSC_VER) #define MDBX_DEPRECATED __declspec(deprecated)