浏览代码

m68k/math-emu: unsigned issue, 'unsigned long' will never be less than zero

'oldmant.m32[1]' is 'unsigned long' which can never be '< 0', and the
original author wanted to check whether the highest bit is set.

So make the bit test explicit (which is better than casting from 'unsigned
long' to 'long').

The related warning: (with EXTRA_CFLAGS=-W ARCH=m68k for allmodconfig)
  arch/m68k/math-emu/fp_arith.c:522:4: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]

Signed-off-by: Chen Gang <gang.chen@asianux.com>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Chen Gang 12 年之前
父节点
当前提交
ddc2fc2c5b
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      arch/m68k/math-emu/fp_arith.c

+ 1 - 1
arch/m68k/math-emu/fp_arith.c

@@ -519,7 +519,7 @@ static void fp_roundint(struct fp_ext *dest, int mode)
 				return;
 			break;
 		case 0x401e:
-			if (!(oldmant.m32[1] >= 0))
+			if (oldmant.m32[1] & 0x80000000)
 				return;
 			if (oldmant.m32[0] & 1)
 				break;