From dd7855c30d052f5f43cb54731b69fb77f09b1e58 Mon Sep 17 00:00:00 2001 From: Leo Yuriev Date: Wed, 24 May 2017 13:37:06 +0300 Subject: [PATCH] mdbx: cleanup tabs (minor). --- src/bits.h | 109 ++++++++-------- src/defs.h | 363 ++++++++++++++++++++++++++--------------------------- 2 files changed, 235 insertions(+), 237 deletions(-) diff --git a/src/bits.h b/src/bits.h index cc2e6ab6..897e1eb6 100644 --- a/src/bits.h +++ b/src/bits.h @@ -16,18 +16,17 @@ /* clang-format off */ #ifndef _FILE_OFFSET_BITS -# define _FILE_OFFSET_BITS 64 +# define _FILE_OFFSET_BITS 64 #endif #if defined(_MSC_VER) && !defined(_CRT_SECURE_NO_WARNINGS) -# define _CRT_SECURE_NO_WARNINGS +# define _CRT_SECURE_NO_WARNINGS #endif #ifdef _MSC_VER #pragma warning(disable : 4464) /* C4464: relative include path contains '..' */ #pragma warning(disable : 4710) /* C4710: 'xyz': function not inlined */ #pragma warning(disable : 4711) /* C4711: function 'xyz' selected for automatic inline expansion */ -//#pragma warning(disable : 4061) /* C4061: enumerator 'abc' in switch of enum 'xyz' is not explicitly handled by a case label */ #pragma warning(disable : 4201) /* C4201: nonstandard extension used : nameless struct / union */ #pragma warning(disable : 4706) /* C4706: assignment within conditional expression */ #pragma warning(disable : 4127) /* C4127: conditional expression is constant */ @@ -37,102 +36,102 @@ #include "./defs.h" #if defined(USE_VALGRIND) -# include -# ifndef VALGRIND_DISABLE_ADDR_ERROR_REPORTING_IN_RANGE -/* LY: available since Valgrind 3.10 */ -# define VALGRIND_DISABLE_ADDR_ERROR_REPORTING_IN_RANGE(a,s) -# define VALGRIND_ENABLE_ADDR_ERROR_REPORTING_IN_RANGE(a,s) -# endif +# include +# ifndef VALGRIND_DISABLE_ADDR_ERROR_REPORTING_IN_RANGE + /* LY: available since Valgrind 3.10 */ +# define VALGRIND_DISABLE_ADDR_ERROR_REPORTING_IN_RANGE(a,s) +# define VALGRIND_ENABLE_ADDR_ERROR_REPORTING_IN_RANGE(a,s) +# endif #else -# define VALGRIND_CREATE_MEMPOOL(h,r,z) -# define VALGRIND_DESTROY_MEMPOOL(h) -# define VALGRIND_MEMPOOL_TRIM(h,a,s) -# define VALGRIND_MEMPOOL_ALLOC(h,a,s) -# define VALGRIND_MEMPOOL_FREE(h,a) -# define VALGRIND_MEMPOOL_CHANGE(h,a,b,s) -# define VALGRIND_MAKE_MEM_NOACCESS(a,s) -# define VALGRIND_MAKE_MEM_DEFINED(a,s) -# define VALGRIND_MAKE_MEM_UNDEFINED(a,s) -# define VALGRIND_DISABLE_ADDR_ERROR_REPORTING_IN_RANGE(a,s) -# define VALGRIND_ENABLE_ADDR_ERROR_REPORTING_IN_RANGE(a,s) -# define VALGRIND_CHECK_MEM_IS_ADDRESSABLE(a,s) (0) -# define VALGRIND_CHECK_MEM_IS_DEFINED(a,s) (0) +# define VALGRIND_CREATE_MEMPOOL(h,r,z) +# define VALGRIND_DESTROY_MEMPOOL(h) +# define VALGRIND_MEMPOOL_TRIM(h,a,s) +# define VALGRIND_MEMPOOL_ALLOC(h,a,s) +# define VALGRIND_MEMPOOL_FREE(h,a) +# define VALGRIND_MEMPOOL_CHANGE(h,a,b,s) +# define VALGRIND_MAKE_MEM_NOACCESS(a,s) +# define VALGRIND_MAKE_MEM_DEFINED(a,s) +# define VALGRIND_MAKE_MEM_UNDEFINED(a,s) +# define VALGRIND_DISABLE_ADDR_ERROR_REPORTING_IN_RANGE(a,s) +# define VALGRIND_ENABLE_ADDR_ERROR_REPORTING_IN_RANGE(a,s) +# define VALGRIND_CHECK_MEM_IS_ADDRESSABLE(a,s) (0) +# define VALGRIND_CHECK_MEM_IS_DEFINED(a,s) (0) #endif /* USE_VALGRIND */ #ifdef __SANITIZE_ADDRESS__ -# include +# include #else -# define ASAN_POISON_MEMORY_REGION(addr, size) \ - ((void)(addr), (void)(size)) -# define ASAN_UNPOISON_MEMORY_REGION(addr, size) \ - ((void)(addr), (void)(size)) +# define ASAN_POISON_MEMORY_REGION(addr, size) \ + ((void)(addr), (void)(size)) +# define ASAN_UNPOISON_MEMORY_REGION(addr, size) \ + ((void)(addr), (void)(size)) #endif /* __SANITIZE_ADDRESS__ */ #include "./osal.h" #ifndef MDBX_DEBUG -# define MDBX_DEBUG 0 +# define MDBX_DEBUG 0 #endif #if MDBX_DEBUG -# undef NDEBUG +# undef NDEBUG #endif #if defined(__GNUC__) && !__GNUC_PREREQ(4,2) - /* Actualy libmdbx was not tested with compilers older than GCC from RHEL6. - * But you could remove this #error and try to continue at your own risk. - * In such case please don't rise up an issues related ONLY to old compilers. - */ -# warning "libmdbx required at least GCC 4.2 compatible C/C++ compiler." + /* Actualy libmdbx was not tested with compilers older than GCC from RHEL6. + * But you could remove this #error and try to continue at your own risk. + * In such case please don't rise up an issues related ONLY to old compilers. + */ +# warning "libmdbx required at least GCC 4.2 compatible C/C++ compiler." #endif #if defined(__GLIBC__) && !__GLIBC_PREREQ(2,12) - /* Actualy libmdbx was not tested with something older than glibc 2.12 (from RHEL6). - * But you could remove this #error and try to continue at your own risk. - * In such case please don't rise up an issues related ONLY to old systems. - */ -# warning "libmdbx required at least GLIBC 2.12." + /* Actualy libmdbx was not tested with something older than glibc 2.12 (from RHEL6). + * But you could remove this #error and try to continue at your own risk. + * In such case please don't rise up an issues related ONLY to old systems. + */ +# warning "libmdbx required at least GLIBC 2.12." #endif #if defined(__i386) || defined(__x86_64) || defined(_M_IX86) -# define UNALIGNED_OK 1 /* TODO */ +# define UNALIGNED_OK 1 /* TODO */ #endif #ifndef UNALIGNED_OK -# define UNALIGNED_OK 0 +# define UNALIGNED_OK 0 #endif /* UNALIGNED_OK */ #if (-6 & 5) || CHAR_BIT != 8 || UINT_MAX < 0xffffffff || ULONG_MAX % 0xFFFF -# error "Sanity checking failed: Two's complement, reasonably sized integer types" +# error "Sanity checking failed: Two's complement, reasonably sized integer types" #endif /*----------------------------------------------------------------------------*/ #ifndef ARRAY_LENGTH -# ifdef __cplusplus - template - char (&__ArraySizeHelper(T (&array)[N]))[N]; -# define ARRAY_LENGTH(array) (sizeof(::__ArraySizeHelper(array))) -# else -# define ARRAY_LENGTH(array) (sizeof(array) / sizeof(array[0])) -# endif +# ifdef __cplusplus + template + char (&__ArraySizeHelper(T (&array)[N]))[N]; +# define ARRAY_LENGTH(array) (sizeof(::__ArraySizeHelper(array))) +# else +# define ARRAY_LENGTH(array) (sizeof(array) / sizeof(array[0])) +# endif #endif /* ARRAY_LENGTH */ #ifndef ARRAY_END -# define ARRAY_END(array) (&array[ARRAY_LENGTH(array)]) +# define ARRAY_END(array) (&array[ARRAY_LENGTH(array)]) #endif /* ARRAY_END */ #ifndef STRINGIFY -# define STRINGIFY_HELPER(x) #x -# define STRINGIFY(x) STRINGIFY_HELPER(x) +# define STRINGIFY_HELPER(x) #x +# define STRINGIFY(x) STRINGIFY_HELPER(x) #endif /* STRINGIFY */ #ifndef offsetof -# define offsetof(type, member) __builtin_offsetof(type, member) +# define offsetof(type, member) __builtin_offsetof(type, member) #endif /* offsetof */ #ifndef container_of -# define container_of(ptr, type, member) \ - ((type *)((char *)(ptr) - offsetof(type, member))) +# define container_of(ptr, type, member) \ + ((type *)((char *)(ptr) - offsetof(type, member))) #endif /* container_of */ /* *INDENT-ON* */ diff --git a/src/defs.h b/src/defs.h index 24c67cc2..6cae9714 100644 --- a/src/defs.h +++ b/src/defs.h @@ -17,293 +17,292 @@ /* clang-format off */ #ifndef __GNUC_PREREQ -# if defined(__GNUC__) && defined(__GNUC_MINOR__) -# define __GNUC_PREREQ(maj, min) \ - ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) -# else -# define __GNUC_PREREQ(maj, min) (0) -# endif +# if defined(__GNUC__) && defined(__GNUC_MINOR__) +# define __GNUC_PREREQ(maj, min) \ + ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) +# else +# define __GNUC_PREREQ(maj, min) (0) +# endif #endif /* __GNUC_PREREQ */ #ifndef __CLANG_PREREQ -# ifdef __clang__ -# define __CLANG_PREREQ(maj,min) \ - ((__clang_major__ << 16) + __clang_minor__ >= ((maj) << 16) + (min)) -# else -# define __CLANG_PREREQ(maj,min) (0) -# endif +# ifdef __clang__ +# define __CLANG_PREREQ(maj,min) \ + ((__clang_major__ << 16) + __clang_minor__ >= ((maj) << 16) + (min)) +# else +# define __CLANG_PREREQ(maj,min) (0) +# endif #endif /* __CLANG_PREREQ */ #ifndef __GLIBC_PREREQ -# if defined(__GLIBC__) && defined(__GLIBC_MINOR__) -# define __GLIBC_PREREQ(maj, min) \ - ((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min)) -# else -# define __GLIBC_PREREQ(maj, min) (0) -# endif +# if defined(__GLIBC__) && defined(__GLIBC_MINOR__) +# define __GLIBC_PREREQ(maj, min) \ + ((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min)) +# else +# define __GLIBC_PREREQ(maj, min) (0) +# endif #endif /* __GLIBC_PREREQ */ #ifndef __has_attribute -# define __has_attribute(x) (0) +# define __has_attribute(x) (0) #endif #ifndef __has_feature -# define __has_feature(x) (0) +# define __has_feature(x) (0) #endif #ifndef __has_extension -# define __has_extension(x) (0) +# define __has_extension(x) (0) #endif #ifndef __has_builtin -# define __has_builtin(x) (0) +# define __has_builtin(x) (0) #endif #if __has_feature(thread_sanitizer) -# define __SANITIZE_THREAD__ 1 +# define __SANITIZE_THREAD__ 1 #endif #if __has_feature(address_sanitizer) -# define __SANITIZE_ADDRESS__ 1 +# define __SANITIZE_ADDRESS__ 1 #endif /*----------------------------------------------------------------------------*/ #ifndef __extern_C -# ifdef __cplusplus -# define __extern_C extern "C" -# else -# define __extern_C -# endif +# ifdef __cplusplus +# define __extern_C extern "C" +# else +# define __extern_C +# endif #endif /* __extern_C */ #ifndef __cplusplus -# ifndef bool -# define bool _Bool -# endif -# ifndef true -# define true (1) -# endif -# ifndef false -# define false (0) -# endif +# ifndef bool +# define bool _Bool +# endif +# ifndef true +# define true (1) +# endif +# ifndef false +# define false (0) +# endif #endif #if !defined(nullptr) && !defined(__cplusplus) || (__cplusplus < 201103L && !defined(_MSC_VER)) -# define nullptr NULL +# define nullptr NULL #endif /*----------------------------------------------------------------------------*/ #if !defined(__thread) && (defined(_MSC_VER) || defined(__DMC__)) -# define __thread __declspec(thread) +# define __thread __declspec(thread) #endif /* __thread */ #ifndef __alwaysinline -# if defined(__GNUC__) || __has_attribute(always_inline) -# define __alwaysinline __inline __attribute__((always_inline)) -# elif defined(_MSC_VER) -# define __alwaysinline __forceinline -# else -# define __alwaysinline -# endif +# if defined(__GNUC__) || __has_attribute(always_inline) +# define __alwaysinline __inline __attribute__((always_inline)) +# elif defined(_MSC_VER) +# define __alwaysinline __forceinline +# else +# define __alwaysinline +# endif #endif /* __alwaysinline */ #ifndef __noinline -# if defined(__GNUC__) || __has_attribute(noinline) -# define __noinline __attribute__((noinline)) -# elif defined(_MSC_VER) -# define __noinline __declspec(noinline) -# elif defined(__SUNPRO_C) || defined(__sun) || defined(sun) -# define __noinline inline -# elif !defined(__INTEL_COMPILER) -# define __noinline /* FIXME ? */ -# endif +# if defined(__GNUC__) || __has_attribute(noinline) +# define __noinline __attribute__((noinline)) +# elif defined(_MSC_VER) +# define __noinline __declspec(noinline) +# elif defined(__SUNPRO_C) || defined(__sun) || defined(sun) +# define __noinline inline +# elif !defined(__INTEL_COMPILER) +# define __noinline /* FIXME ? */ +# endif #endif /* __noinline */ #ifndef __must_check_result -# if defined(__GNUC__) || __has_attribute(warn_unused_result) -# define __must_check_result __attribute__((warn_unused_result)) -# else -# define __must_check_result -# endif +# if defined(__GNUC__) || __has_attribute(warn_unused_result) +# define __must_check_result __attribute__((warn_unused_result)) +# else +# define __must_check_result +# endif #endif /* __must_check_result */ #ifndef __deprecated -# if defined(__GNUC__) || __has_attribute(deprecated) -# define __deprecated __attribute__((deprecated)) -# elif defined(_MSC_VER) -# define __deprecated __declspec(deprecated) -# else -# define __deprecated -# endif +# if defined(__GNUC__) || __has_attribute(deprecated) +# define __deprecated __attribute__((deprecated)) +# elif defined(_MSC_VER) +# define __deprecated __declspec(deprecated) +# else +# define __deprecated +# endif #endif /* __deprecated */ #ifndef __packed -# if defined(__GNUC__) || __has_attribute(packed) -# define __packed __attribute__((packed)) -# else -# define __packed -# endif +# if defined(__GNUC__) || __has_attribute(packed) +# define __packed __attribute__((packed)) +# else +# define __packed +# endif #endif /* __packed */ #ifndef __aligned -# if defined(__GNUC__) || __has_attribute(aligned) -# define __aligned(N) __attribute__((aligned(N))) -# elif defined(_MSC_VER) -# define __aligned(N) __declspec(align(N)) -# else -# define __aligned(N) -# endif +# if defined(__GNUC__) || __has_attribute(aligned) +# define __aligned(N) __attribute__((aligned(N))) +# elif defined(_MSC_VER) +# define __aligned(N) __declspec(align(N)) +# else +# define __aligned(N) +# endif #endif /* __aligned */ #ifndef __noreturn -# if defined(__GNUC__) || __has_attribute(noreturn) -# define __noreturn __attribute__((noreturn)) -# elif defined(_MSC_VER) -# define __noreturn __declspec(noreturn) -# else -# define __noreturn -# endif +# if defined(__GNUC__) || __has_attribute(noreturn) +# define __noreturn __attribute__((noreturn)) +# elif defined(_MSC_VER) +# define __noreturn __declspec(noreturn) +# else +# define __noreturn +# endif #endif /* __noreturn */ #ifndef __nothrow -# if defined(__GNUC__) || __has_attribute(nothrow) -# define __nothrow __attribute__((nothrow)) -# elif defined(_MSC_VER) && defined(__cplusplus) -# define __nothrow __declspec(nothrow) -# else -# define __nothrow -# endif +# if defined(__GNUC__) || __has_attribute(nothrow) +# define __nothrow __attribute__((nothrow)) +# elif defined(_MSC_VER) && defined(__cplusplus) +# define __nothrow __declspec(nothrow) +# else +# define __nothrow +# endif #endif /* __nothrow */ #ifndef __pure_function - /* Many functions have no effects except the return value and their - * return value depends only on the parameters and/or global variables. - * Such a function can be subject to common subexpression elimination - * and loop optimization just as an arithmetic operator would be. - * These functions should be declared with the attribute pure. */ -# if defined(__GNUC__) || __has_attribute(pure) -# define __pure_function __attribute__((pure)) -# else -# define __pure_function -# endif + /* Many functions have no effects except the return value and their + * return value depends only on the parameters and/or global variables. + * Such a function can be subject to common subexpression elimination + * and loop optimization just as an arithmetic operator would be. + * These functions should be declared with the attribute pure. */ +# if defined(__GNUC__) || __has_attribute(pure) +# define __pure_function __attribute__((pure)) +# else +# define __pure_function +# endif #endif /* __pure_function */ #ifndef __const_function - /* Many functions do not examine any values except their arguments, - * and have no effects except the return value. Basically this is just - * slightly more strict class than the PURE attribute, since function - * is not allowed to read global memory. - * - * Note that a function that has pointer arguments and examines the - * data pointed to must not be declared const. Likewise, a function - * that calls a non-const function usually must not be const. - * It does not make sense for a const function to return void. */ -# if defined(__GNUC__) || __has_attribute(const) -# define __const_function __attribute__((const)) -# else -# define __const_function -# endif + /* Many functions do not examine any values except their arguments, + * and have no effects except the return value. Basically this is just + * slightly more strict class than the PURE attribute, since function + * is not allowed to read global memory. + * + * Note that a function that has pointer arguments and examines the + * data pointed to must not be declared const. Likewise, a function + * that calls a non-const function usually must not be const. + * It does not make sense for a const function to return void. */ +# if defined(__GNUC__) || __has_attribute(const) +# define __const_function __attribute__((const)) +# else +# define __const_function +# endif #endif /* __const_function */ #ifndef __dll_hidden -# if defined(__GNUC__) || __has_attribute(visibility) -# define __hidden __attribute__((visibility("hidden"))) -# else -# define __hidden -# endif +# if defined(__GNUC__) || __has_attribute(visibility) +# define __hidden __attribute__((visibility("hidden"))) +# else +# define __hidden +# endif #endif /* __dll_hidden */ #ifndef __optimize -# if defined(__OPTIMIZE__) -# if defined(__clang__) && !__has_attribute(optimize) -# define __optimize(ops) -# elif defined(__GNUC__) || __has_attribute(optimize) -# define __optimize(ops) __attribute__((optimize(ops))) -# else -# define __optimize(ops) -# endif -# else -# define __optimize(ops) -# endif +# if defined(__OPTIMIZE__) +# if defined(__clang__) && !__has_attribute(optimize) +# define __optimize(ops) +# elif defined(__GNUC__) || __has_attribute(optimize) +# define __optimize(ops) __attribute__((optimize(ops))) +# else +# define __optimize(ops) +# endif +# else +# define __optimize(ops) +# endif #endif /* __optimize */ #ifndef __hot -# if defined(__OPTIMIZE__) -# if defined(__clang__) && !__has_attribute(hot) - /* just put frequently used functions in separate section */ -# define __hot __attribute__((section("text.hot"))) __optimize("O3") -# elif defined(__GNUC__) || __has_attribute(hot) -# define __hot __attribute__((hot)) __optimize("O3") -# else -# define __hot __optimize("O3") -# endif -# else -# define __hot -# endif +# if defined(__OPTIMIZE__) +# if defined(__clang__) && !__has_attribute(hot) + /* just put frequently used functions in separate section */ +# define __hot __attribute__((section("text.hot"))) __optimize("O3") +# elif defined(__GNUC__) || __has_attribute(hot) +# define __hot __attribute__((hot)) __optimize("O3") +# else +# define __hot __optimize("O3") +# endif +# else +# define __hot +# endif #endif /* __hot */ #ifndef __cold -# if defined(__OPTIMIZE__) -# if defined(__clang__) && !__has_attribute(cold) - /* just put infrequently used functions in separate section */ -# define __cold __attribute__((section("text.unlikely"))) __optimize("Os") -# elif defined(__GNUC__) || __has_attribute(cold) -# define __cold __attribute__((cold)) __optimize("Os") -# else -# define __cold __optimize("Os") -# endif -# else -# define __cold -# endif +# if defined(__OPTIMIZE__) +# if defined(__clang__) && !__has_attribute(cold) + /* just put infrequently used functions in separate section */ +# define __cold __attribute__((section("text.unlikely"))) __optimize("Os") +# elif defined(__GNUC__) || __has_attribute(cold) +# define __cold __attribute__((cold)) __optimize("Os") +# else +# define __cold __optimize("Os") +# endif +# else +# define __cold +# endif #endif /* __cold */ #ifndef __flatten -# if defined(__OPTIMIZE__) && (defined(__GNUC__) || __has_attribute(flatten)) -# define __flatten __attribute__((flatten)) -# else -# define __flatten -# endif +# if defined(__OPTIMIZE__) && (defined(__GNUC__) || __has_attribute(flatten)) +# define __flatten __attribute__((flatten)) +# else +# define __flatten +# endif #endif /* __flatten */ #ifndef likely -# if defined(__GNUC__) || defined(__clang__) -# define likely(cond) __builtin_expect(!!(cond), 1) -# else -# define likely(x) (x) -# endif +# if defined(__GNUC__) || defined(__clang__) +# define likely(cond) __builtin_expect(!!(cond), 1) +# else +# define likely(x) (x) +# endif #endif /* likely */ #ifndef unlikely -# if defined(__GNUC__) || defined(__clang__) -# define unlikely(cond) __builtin_expect(!!(cond), 0) -# else -# define unlikely(x) (x) -# endif +# if defined(__GNUC__) || defined(__clang__) +# define unlikely(cond) __builtin_expect(!!(cond), 0) +# else +# define unlikely(x) (x) +# endif #endif /* unlikely */ #if !defined(__noop) && !defined(_MSC_VER) - static __inline int __do_noop(void* crutch, ...) { - (void) crutch; return 0; - } -# define __noop(...) __do_noop(0, __VA_ARGS__) + static __inline int __do_noop(void* crutch, ...) { + (void) crutch; return 0; + } +# define __noop(...) __do_noop(0, __VA_ARGS__) #endif /* __noop */ /*----------------------------------------------------------------------------*/ /* Wrapper around __func__, which is a C99 feature */ #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L -# define mdbx_func_ __func__ +# define mdbx_func_ __func__ #elif (defined(__GNUC__) && __GNUC__ >= 2) || defined(__clang__) || defined(_MSC_VER) -# define mdbx_func_ __FUNCTION__ +# define mdbx_func_ __FUNCTION__ #else -# define mdbx_func_ "" +# define mdbx_func_ "" #endif /* *INDENT-ON* */ /* clang-format on */ #define MDBX_TETRAD(a, b, c, d) \ - ((uint32_t)(a) << 24 | (uint32_t)(b) << 16 | (uint32_t)(c) << 8 | \ - (uint32_t)(d)) + ((uint32_t)(a) << 24 | (uint32_t)(b) << 16 | (uint32_t)(c) << 8 | (d))