* .version: changed version to 2.5.4
[fw/sdcc] / device / lib / pic / libsdcc / _mullong.c
index 8675adbd6e0232dddc3b2893b68f2064284beabd..21624fed2a881f7d8751bd5544836b8422a7d320 100644 (file)
@@ -36,12 +36,12 @@ _mullong (long a, long b)
   /* check all bits in a byte */
   for (i = 0; i < 8u; i++) {
     /* check all bytes in operand (generic code, optimized by the compiler) */
-    if (a & 0x0001) result += b;
-    if (sizeof (long) > 1 && (a & 0x00000100)) result += (b << 8);
-    if (sizeof (long) > 2 && (a & 0x00010000)) result += (b << 16);
-    if (sizeof (long) > 3 && (a & 0x01000000)) result += (b << 24);
-    a = ((unsigned long)a) >> 1;
-    b <<= 1;
+    if (a & 0x0001u) result += b;
+    if (sizeof (a) > 1 && (a & 0x00000100ul)) result += (b << 8u);
+    if (sizeof (a) > 2 && (a & 0x00010000ul)) result += (b << 16u);
+    if (sizeof (a) > 3 && (a & 0x01000000ul)) result += (b << 24u);
+    a = ((unsigned long)a) >> 1u;
+    b <<= 1u;
   } // for i
 
   return result;