mirror of
https://github.com/isar/libmdbx.git
synced 2025-08-25 21:54:28 +08:00
mdbx: add workaround for old MSVC and/or old Windows SDK.
Resolves https://github.com/erthink/libmdbx/issues/265. Change-Id: I295b5d9d5ecd670ccf258791bf87379a3ca17f21
This commit is contained in:
21
src/osal.h
21
src/osal.h
@@ -56,18 +56,21 @@
|
||||
#include <string.h>
|
||||
#include <time.h>
|
||||
|
||||
/* C11 stdalign.h */
|
||||
/* C11' alignas() */
|
||||
#if __has_include(<stdalign.h>)
|
||||
#include <stdalign.h>
|
||||
#elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L
|
||||
#define alignas(N) _Alignas(N)
|
||||
#elif defined(_MSC_VER)
|
||||
#define alignas(N) __declspec(align(N))
|
||||
#elif __has_attribute(__aligned__) || defined(__GNUC__)
|
||||
#define alignas(N) __attribute__((__aligned__(N)))
|
||||
#else
|
||||
#error "FIXME: Required _alignas() or equivalent."
|
||||
#endif
|
||||
#if defined(alignas) || defined(__cplusplus)
|
||||
#define MDBX_ALIGNAS(N) alignas(N)
|
||||
#elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L
|
||||
#define MDBX_ALIGNAS(N) _Alignas(N)
|
||||
#elif defined(_MSC_VER)
|
||||
#define MDBX_ALIGNAS(N) __declspec(align(N))
|
||||
#elif __has_attribute(__aligned__) || defined(__GNUC__)
|
||||
#define MDBX_ALIGNAS(N) __attribute__((__aligned__(N)))
|
||||
#else
|
||||
#error "FIXME: Required alignas() or equivalent."
|
||||
#endif /* MDBX_ALIGNAS */
|
||||
|
||||
/*----------------------------------------------------------------------------*/
|
||||
/* Systems includes */
|
||||
|
Reference in New Issue
Block a user