diff options
Diffstat (limited to 'storage/tokudb/tokudb_math.h')
-rw-r--r-- | storage/tokudb/tokudb_math.h | 42 |
1 files changed, 29 insertions, 13 deletions
diff --git a/storage/tokudb/tokudb_math.h b/storage/tokudb/tokudb_math.h index c49af2a6a21..0338bf3871e 100644 --- a/storage/tokudb/tokudb_math.h +++ b/storage/tokudb/tokudb_math.h @@ -32,30 +32,34 @@ namespace tokudb { // Overflow detection adapted from "Hackers Delight", Henry S. Warren // Return a bit mask for bits 0 .. length_bits-1 -static uint64_t uint_mask(uint length_bits) __attribute__((unused)); +TOKUDB_UNUSED(static uint64_t uint_mask(uint length_bits)); static uint64_t uint_mask(uint length_bits) { return length_bits == 64 ? ~0ULL : (1ULL<<length_bits)-1; } // Return the highest unsigned int with a given number of bits -static uint64_t uint_high_endpoint(uint length_bits) __attribute__((unused)); +TOKUDB_UNUSED(static uint64_t uint_high_endpoint(uint length_bits)); static uint64_t uint_high_endpoint(uint length_bits) { return uint_mask(length_bits); } // Return the lowest unsigned int with a given number of bits -static uint64_t uint_low_endpoint(uint length_bits) __attribute__((unused)); -static uint64_t uint_low_endpoint(uint length_bits __attribute__((unused))) { +TOKUDB_UNUSED(static uint64_t uint_low_endpoint(uint length_bits)); +static uint64_t uint_low_endpoint(TOKUDB_UNUSED(uint length_bits)) { return 0; } // Add two unsigned integers with max maximum value. // If there is an overflow then set the sum to the max. // Return the sum and the overflow. -static uint64_t uint_add(uint64_t x, uint64_t y, uint length_bits, bool *over) __attribute__((unused)); +TOKUDB_UNUSED(static uint64_t uint_add( + uint64_t x, + uint64_t y, + uint length_bits, + bool* over)); static uint64_t uint_add(uint64_t x, uint64_t y, uint length_bits, bool *over) { uint64_t mask = uint_mask(length_bits); - assert((x & ~mask) == 0 && (y & ~mask) == 0); + assert_always((x & ~mask) == 0 && (y & ~mask) == 0); uint64_t s = (x + y) & mask; *over = s < x; // check for overflow return s; @@ -64,30 +68,34 @@ static uint64_t uint_add(uint64_t x, uint64_t y, uint length_bits, bool *over) { // Subtract two unsigned ints with max maximum value. // If there is an over then set the difference to 0. // Return the difference and the overflow. -static uint64_t uint_sub(uint64_t x, uint64_t y, uint length_bits, bool *over) __attribute__((unused)); +TOKUDB_UNUSED(static uint64_t uint_sub( + uint64_t x, + uint64_t y, + uint length_bits, + bool* over)); static uint64_t uint_sub(uint64_t x, uint64_t y, uint length_bits, bool *over) { uint64_t mask = uint_mask(length_bits); - assert((x & ~mask) == 0 && (y & ~mask) == 0); + assert_always((x & ~mask) == 0 && (y & ~mask) == 0); uint64_t s = (x - y) & mask; *over = s > x; // check for overflow return s; } // Return the highest int with a given number of bits -static int64_t int_high_endpoint(uint length_bits) __attribute__((unused)); +TOKUDB_UNUSED(static int64_t int_high_endpoint(uint length_bits)); static int64_t int_high_endpoint(uint length_bits) { return (1ULL<<(length_bits-1))-1; } // Return the lowest int with a given number of bits -static int64_t int_low_endpoint(uint length_bits) __attribute__((unused)); +TOKUDB_UNUSED(static int64_t int_low_endpoint(uint length_bits)); static int64_t int_low_endpoint(uint length_bits) { int64_t mask = uint_mask(length_bits); return (1ULL<<(length_bits-1)) | ~mask; } // Sign extend to 64 bits an int with a given number of bits -static int64_t int_sign_extend(int64_t n, uint length_bits) __attribute__((unused)); +TOKUDB_UNUSED(static int64_t int_sign_extend(int64_t n, uint length_bits)); static int64_t int_sign_extend(int64_t n, uint length_bits) { if (n & (1ULL<<(length_bits-1))) n |= ~uint_mask(length_bits); @@ -99,7 +107,11 @@ static int64_t int_sign_extend(int64_t n, uint length_bits) { // depending on the sign bit. // Sign extend to 64 bits. // Return the sum and the overflow. -static int64_t int_add(int64_t x, int64_t y, uint length_bits, bool *over) __attribute__((unused)); +TOKUDB_UNUSED(static int64_t int_add( + int64_t x, + int64_t y, + uint length_bits, + bool* over)); static int64_t int_add(int64_t x, int64_t y, uint length_bits, bool *over) { int64_t mask = uint_mask(length_bits); int64_t n = (x + y) & mask; @@ -114,7 +126,11 @@ static int64_t int_add(int64_t x, int64_t y, uint length_bits, bool *over) { // depending on the sign bit. // Sign extend to 64 bits. // Return the sum and the overflow. -static int64_t int_sub(int64_t x, int64_t y, uint length_bits, bool *over) __attribute__((unused)); +TOKUDB_UNUSED(static int64_t int_sub( + int64_t x, + int64_t y, + uint length_bits, + bool* over)); static int64_t int_sub(int64_t x, int64_t y, uint length_bits, bool *over) { int64_t mask = uint_mask(length_bits); int64_t n = (x - y) & mask; |