]> git.eshelyaron.com Git - emacs.git/commitdiff
* data.c (arith_driver, Flsh): Avoid unnecessary casts to EMACS_UINT.
authorPaul Eggert <eggert@cs.ucla.edu>
Tue, 24 May 2011 01:20:04 +0000 (18:20 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Tue, 24 May 2011 01:20:04 +0000 (18:20 -0700)
src/ChangeLog
src/data.c

index 9f9cf401e96b6397e0220c9511bfd036018b9cef..96e489bd7311c91176f5325192fe286621301b52 100644 (file)
@@ -1,3 +1,7 @@
+2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data.c (arith_driver, Flsh): Avoid unnecessary casts to EMACS_UINT.
+
 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
 
        * ccl.c (ccl_driver): Redo slightly to avoid the need for 'unsigned'.
index 073fb0d492604dfac211ac3c0fe800222052014b..ce0e8e40f512196ecdc147472e8d41c892b2eb95 100644 (file)
@@ -2494,8 +2494,9 @@ arith_driver (enum arithop code, size_t nargs, register Lisp_Object *args)
        case Amult:
          if (INT_MULTIPLY_OVERFLOW (accum, next))
            {
+             EMACS_UINT a = accum, b = next, ab = a * b;
              overflow = 1;
-             accum = (EMACS_UINT) accum * (EMACS_UINT) next & INTMASK;
+             accum = ab & INTMASK;
            }
          else
            accum *= next;
@@ -2792,11 +2793,11 @@ In this case, zeros are shifted in on the left.  */)
   if (XINT (count) >= BITS_PER_EMACS_INT)
     XSETINT (val, 0);
   else if (XINT (count) > 0)
-    XSETINT (val, (EMACS_UINT) XUINT (value) << XFASTINT (count));
+    XSETINT (val, XUINT (value) << XFASTINT (count));
   else if (XINT (count) <= -BITS_PER_EMACS_INT)
     XSETINT (val, 0);
   else
-    XSETINT (val, (EMACS_UINT) XUINT (value) >> -XINT (count));
+    XSETINT (val, XUINT (value) >> -XINT (count));
   return val;
 }