math-emu: Use statement expressions to fix Wshift-count-overflow warning
To avoid "shift count >= width of type" warning, using statement expressions to implement the conditional controlling before constant shift The modification in op-2.h is taken from the glibc commit 'sysdeps/unix/sysv/lin ("fe0b1e854ad32")'. Signed-off-by: Vincent Chen <vincentc@andestech.com> Acked-by: Greentime Hu <greentime@andestech.com> Signed-off-by: Greentime Hu <greentime@andestech.com>
This commit is contained in:

committed by
Greentime Hu

parent
a188339ca5
commit
8183db10db
@@ -795,11 +795,12 @@ do { \
|
||||
ur_ = (unsigned rtype) -r; \
|
||||
else \
|
||||
ur_ = (unsigned rtype) r; \
|
||||
if (rsize <= _FP_W_TYPE_SIZE) \
|
||||
__FP_CLZ(X##_e, ur_); \
|
||||
else \
|
||||
__FP_CLZ_2(X##_e, (_FP_W_TYPE)(ur_ >> _FP_W_TYPE_SIZE), \
|
||||
(_FP_W_TYPE)ur_); \
|
||||
(void) (((rsize) <= _FP_W_TYPE_SIZE) \
|
||||
? ({ __FP_CLZ(X##_e, ur_); }) \
|
||||
: ({ \
|
||||
__FP_CLZ_2(X##_e, (_FP_W_TYPE)(ur_ >> _FP_W_TYPE_SIZE), \
|
||||
(_FP_W_TYPE)ur_); \
|
||||
})); \
|
||||
if (rsize < _FP_W_TYPE_SIZE) \
|
||||
X##_e -= (_FP_W_TYPE_SIZE - rsize); \
|
||||
X##_e = rsize - X##_e - 1; \
|
||||
|
Reference in New Issue
Block a user