Browse Source

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>
maint
Jonathan Nieder 14 years ago committed by Junio C Hamano
parent
commit
c6c8d0b797
  1. 18
      compat/bswap.h

18
compat/bswap.h

@ -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))



Loading…
Cancel
Save