Browse Source

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 years ago
parent
commit
ddc2fc2c5b
1 changed files with 1 additions and 1 deletions
  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;
 				return;
 			break;
 			break;
 		case 0x401e:
 		case 0x401e:
-			if (!(oldmant.m32[1] >= 0))
+			if (oldmant.m32[1] & 0x80000000)
 				return;
 				return;
 			if (oldmant.m32[0] & 1)
 			if (oldmant.m32[0] & 1)
 				break;
 				break;