From: Uros Bizjak Date: Tue, 26 Nov 2013 16:05:10 +0000 (+0000) Subject: Avoid "left shift count >= width of type" warnings in soft-fp code. X-Git-Tag: glibc-2.19~454 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6f476861be660541eee229acfbc9ef4098af70ab;p=platform%2Fupstream%2Fglibc.git Avoid "left shift count >= width of type" warnings in soft-fp code. --- diff --git a/ChangeLog b/ChangeLog index 585b09f..5927ebb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2013-11-26 Uros Bizjak + + * soft-fp/op-4.h (_FP_FRAC_ASSEMBLE_4): Check rsize against + _FP_W_TYPE_SIZE to avoid "left shift count >= width of type" + warning. + 2013-11-26 Adhemerval Zanella * sysdeps/powerpc/fpu/feenablxcpt.c (feenableexcept): Use diff --git a/soft-fp/op-4.h b/soft-fp/op-4.h index 3515bdc..6c6b461 100644 --- a/soft-fp/op-4.h +++ b/soft-fp/op-4.h @@ -709,7 +709,7 @@ else if (rsize <= 2*_FP_W_TYPE_SIZE) \ { \ r = X##_f[1]; \ - r <<= _FP_W_TYPE_SIZE; \ + r = (rsize <= _FP_W_TYPE_SIZE ? 0 : r << _FP_W_TYPE_SIZE); \ r += X##_f[0]; \ } \ else \ @@ -717,11 +717,11 @@ /* I'm feeling lazy so we deal with int == 3words (implausible)*/ \ /* and int == 4words as a single case. */ \ r = X##_f[3]; \ - r <<= _FP_W_TYPE_SIZE; \ + r = (rsize <= _FP_W_TYPE_SIZE ? 0 : r << _FP_W_TYPE_SIZE); \ r += X##_f[2]; \ - r <<= _FP_W_TYPE_SIZE; \ + r = (rsize <= _FP_W_TYPE_SIZE ? 0 : r << _FP_W_TYPE_SIZE); \ r += X##_f[1]; \ - r <<= _FP_W_TYPE_SIZE; \ + r = (rsize <= _FP_W_TYPE_SIZE ? 0 : r << _FP_W_TYPE_SIZE); \ r += X##_f[0]; \ } \ } \