]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
m68k/math-emu: unsigned issue, 'unsigned long' will never be less than zero
authorChen Gang <gang.chen@asianux.com>
Thu, 30 May 2013 08:21:36 +0000 (16:21 +0800)
committerGeert Uytterhoeven <geert@linux-m68k.org>
Fri, 31 May 2013 08:46:30 +0000 (10:46 +0200)
'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>
arch/m68k/math-emu/fp_arith.c

index 08f286db3c5af889f87e6a19c2aae24719f58c5c..239eb1990184721df8e748045f7640c76fc2ab59 100644 (file)
@@ -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;