From 0c8eb9985d66ce596412f676313d1dcbeaebd210 Mon Sep 17 00:00:00 2001
From: Richard Henderson <rth@redhat.com>
Date: Tue, 24 Aug 2004 11:23:11 -0700
Subject: [PATCH] * trans-const.c (gfc_conv_mpz_to_tree): Fix 64-bit shift
 warning.

From-SVN: r86504
---
 gcc/fortran/ChangeLog     |  4 ++++
 gcc/fortran/trans-const.c | 11 ++++++-----
 2 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 1c95c96f1a27..7d9fdfe98163 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -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 
diff --git a/gcc/fortran/trans-const.c b/gcc/fortran/trans-const.c
index c2a68b7732a6..110c0db4237e 100644
--- a/gcc/fortran/trans-const.c
+++ b/gcc/fortran/trans-const.c
@@ -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);
 	    }
 	}
-- 
GitLab