--- libecb/ecb.h 2011/05/26 19:39:40 1.22 +++ libecb/ecb.h 2011/05/26 21:35:39 1.26 @@ -83,13 +83,14 @@ # define ecb_decltype(x) typeof(x) #endif -#define ecb_noinline ecb_attribute ((noinline)) -#define ecb_noreturn ecb_attribute ((noreturn)) -#define ecb_unused ecb_attribute ((unused)) -#define ecb_const ecb_attribute ((const)) -#define ecb_pure ecb_attribute ((pure)) -#define ecb_hot ecb_attribute ((hot)) /* 4.3 */ -#define ecb_cold ecb_attribute ((cold)) /* 4.3 */ +#define ecb_artificial ecb_attribute ((__artificial__)) /* 4.3 */ +#define ecb_noinline ecb_attribute ((__noinline__)) +#define ecb_noreturn ecb_attribute ((__noreturn__)) +#define ecb_unused ecb_attribute ((__unused__)) +#define ecb_const ecb_attribute ((__const__)) +#define ecb_pure ecb_attribute ((__pure__)) +#define ecb_hot ecb_attribute ((__hot__)) /* 4.3 */ +#define ecb_cold ecb_attribute ((__cold__)) /* 4.3 */ /* put into if's if you are very sure that the expression */ /* is mostly true or mosty false. note that these return */ @@ -102,8 +103,8 @@ /* count trailing zero bits and count # of one bits */ #if ECB_GCC_VERSION(3,4) -#define ecb_ctz32 (x) __builtin_ctz (x) -#define ecb_popcount32 (x) __builtin_popcount (x) +#define ecb_ctz32(x) __builtin_ctz (x) +#define ecb_popcount32(x) __builtin_popcount (x) #else ECB_HEADER_INLINE int ecb_ctz32 (uint32_t x) ecb_const; ECB_HEADER_INLINE @@ -167,18 +168,18 @@ ECB_HEADER_INLINE void ecb_unreachable (void) { } #endif -ECB_HEADER_INLINE unsigned char ecb_byteorder_helper () ecb_const; +ECB_HEADER_INLINE unsigned char ecb_byteorder_helper (void) ecb_const; ECB_HEADER_INLINE unsigned char -ecb_byteorder_helper () +ecb_byteorder_helper (void) { const uint32_t u = 0x11223344; return *(unsigned char *)&u; } -ECB_HEADER_INLINE ecb_bool ecb_big_endian () ecb_const; -ECB_HEADER_INLINE ecb_bool ecb_big_endian () { return ecb_byteorder_helper () == 0x11; }; -ECB_HEADER_INLINE ecb_bool ecb_little_endian () ecb_const; -ECB_HEADER_INLINE ecb_bool ecb_little_endian () { return ecb_byteorder_helper () == 0x44; }; +ECB_HEADER_INLINE ecb_bool ecb_big_endian (void) ecb_const; +ECB_HEADER_INLINE ecb_bool ecb_big_endian (void) { return ecb_byteorder_helper () == 0x11; }; +ECB_HEADER_INLINE ecb_bool ecb_little_endian (void) ecb_const; +ECB_HEADER_INLINE ecb_bool ecb_little_endian (void) { return ecb_byteorder_helper () == 0x44; }; #define ecb_mod(m, n) ((m) < 0 ? ((n) - (-(m) % (n))) : ((m) % (n)))