зеркало из https://github.com/microsoft/git.git
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:
Родитель
c9b6782a08
Коммит
c6c8d0b797
|
@ -21,14 +21,16 @@ static inline uint32_t default_swab32(uint32_t val)
|
|||
|
||||
#if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))
|
||||
|
||||
#define bswap32(x) ({ \
|
||||
uint32_t __res; \
|
||||
if (__builtin_constant_p(x)) { \
|
||||
__res = default_swab32(x); \
|
||||
} else { \
|
||||
__asm__("bswap %0" : "=r" (__res) : "0" ((uint32_t)(x))); \
|
||||
} \
|
||||
__res; })
|
||||
#define bswap32 git_bswap32
|
||||
static inline uint32_t git_bswap32(uint32_t x)
|
||||
{
|
||||
uint32_t result;
|
||||
if (__builtin_constant_p(x))
|
||||
result = default_swab32(x);
|
||||
else
|
||||
__asm__("bswap %0" : "=r" (result) : "0" (x));
|
||||
return result;
|
||||
}
|
||||
|
||||
#elif defined(_MSC_VER) && (defined(_M_IX86) || defined(_M_X64))
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче