OSDN Git Service

* trans-const.c (gfc_conv_mpz_to_tree): Fix 64-bit shift warning.
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 24 Aug 2004 18:23:11 +0000 (18:23 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 24 Aug 2004 18:23:11 +0000 (18:23 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@86504 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/fortran/ChangeLog
gcc/fortran/trans-const.c

index 1c95c96..7d9fdfe 100644 (file)
@@ -1,3 +1,7 @@
+2004-08-24  Richard Henderson  <rth@redhat.com>
+
+       * trans-const.c (gfc_conv_mpz_to_tree): Fix 64-bit shift warning.
+
 2004-08-24  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
 
        * resolve.c (merge_argument_lists): Revert unintentionally 
index c2a68b7..110c0db 100644 (file)
@@ -187,21 +187,22 @@ gfc_conv_mpz_to_tree (mpz_t i, int kind)
       else if (sizeof (mp_limb_t) == 2 * sizeof (HOST_WIDE_INT))
        {
          mp_limb_t limb0 = mpz_getlimbn (i, 0);
-         int count = (sizeof (mp_limb_t) - sizeof (HOST_WIDE_INT)) * CHAR_BIT;
+         int shift = (sizeof (mp_limb_t) - sizeof (HOST_WIDE_INT)) * CHAR_BIT;
          low = limb0;
-         high = limb0 >> count;
+         high = limb0 >> shift;
        }
       else if (sizeof (mp_limb_t) < sizeof (HOST_WIDE_INT))
        {
+         int shift = sizeof (mp_limb_t) * CHAR_BIT;
          int n, count = sizeof (HOST_WIDE_INT) / sizeof (mp_limb_t);
          for (low = n = 0; n < count; ++n)
            {
-             low <<= sizeof (mp_limb_t) * CHAR_BIT;
+             low <<= shift;
              low |= mpz_getlimbn (i, n);
            }
-         for (high = 0; n < 2*count; ++n)
+         for (high = 0, n = count; n < 2*count; ++n)
            {
-             high <<= sizeof (mp_limb_t) * CHAR_BIT;
+             high <<= shift;
              high |= mpz_getlimbn (i, n);
            }
        }