compat: make gcc bswap an inline function

Without this change, gcc -pedantic warns:

 cache.h: In function 'ce_to_dtype':
 cache.h:270:21: warning: ISO C forbids braced-groups within expressions [-pedantic]

An inline function is more readable anyway.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Jonathan Nieder 2011-03-16 02:00:49 -05:00 committed by Junio C Hamano
parent c9b6782a08
commit c6c8d0b797

View File

@ -21,14 +21,16 @@ static inline uint32_t default_swab32(uint32_t val)
#if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) #if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))
#define bswap32(x) ({ \ #define bswap32 git_bswap32
uint32_t __res; \ static inline uint32_t git_bswap32(uint32_t x)
if (__builtin_constant_p(x)) { \ {
__res = default_swab32(x); \ uint32_t result;
} else { \ if (__builtin_constant_p(x))
__asm__("bswap %0" : "=r" (__res) : "0" ((uint32_t)(x))); \ result = default_swab32(x);
} \ else
__res; }) __asm__("bswap %0" : "=r" (result) : "0" (x));
return result;
}
#elif defined(_MSC_VER) && (defined(_M_IX86) || defined(_M_X64)) #elif defined(_MSC_VER) && (defined(_M_IX86) || defined(_M_X64))