Merging upstream version 0.7.1 (Closes: #991419).
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
05c588e9d7
commit
9e09e0ef69
99 changed files with 6727 additions and 943 deletions
|
@ -39,6 +39,15 @@
|
|||
#define CK_CC_UNUSED __attribute__((unused))
|
||||
#define CK_CC_USED __attribute__((used))
|
||||
#define CK_CC_IMM "i"
|
||||
|
||||
#define CK_CC_CONTAINER(F, T, M, N) \
|
||||
CK_CC_INLINE static T * \
|
||||
N(F *p) \
|
||||
{ \
|
||||
\
|
||||
return (T *)(void *)((char *)p - __builtin_offsetof(T, M)); \
|
||||
}
|
||||
|
||||
#if defined(__x86_64__) || defined(__x86__)
|
||||
#define CK_CC_IMM_U32 "Z"
|
||||
#define CK_CC_IMM_S32 "e"
|
||||
|
@ -103,28 +112,26 @@
|
|||
#define CK_CC_TYPEOF(X, DEFAULT) __typeof__(X)
|
||||
|
||||
/*
|
||||
* Portability wrappers for bitwise ops.
|
||||
* Portability wrappers for bitwise operations.
|
||||
*/
|
||||
|
||||
#ifndef CK_MD_CC_BUILTIN_DISABLE
|
||||
#define CK_F_CC_FFS
|
||||
#define CK_F_CC_CLZ
|
||||
#define CK_F_CC_CTZ
|
||||
#define CK_F_CC_POPCOUNT
|
||||
|
||||
CK_CC_INLINE static int
|
||||
ck_cc_ffs(unsigned int x)
|
||||
{
|
||||
|
||||
return __builtin_ffs(x);
|
||||
return __builtin_ffsl(x);
|
||||
}
|
||||
|
||||
#define CK_F_CC_FFSL
|
||||
CK_CC_INLINE static int
|
||||
ck_cc_clz(unsigned int x)
|
||||
ck_cc_ffsl(unsigned long x)
|
||||
{
|
||||
|
||||
return __builtin_clz(x);
|
||||
return __builtin_ffsll(x);
|
||||
}
|
||||
|
||||
#define CK_F_CC_CTZ
|
||||
CK_CC_INLINE static int
|
||||
ck_cc_ctz(unsigned int x)
|
||||
{
|
||||
|
@ -132,11 +139,12 @@ ck_cc_ctz(unsigned int x)
|
|||
return __builtin_ctz(x);
|
||||
}
|
||||
|
||||
#define CK_F_CC_POPCOUNT
|
||||
CK_CC_INLINE static int
|
||||
ck_cc_popcount(unsigned int x)
|
||||
{
|
||||
|
||||
return __builtin_popcount(x);
|
||||
}
|
||||
|
||||
#endif /* CK_MD_CC_BUILTIN_DISABLE */
|
||||
#endif /* CK_GCC_CC_H */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue