changeset 75218:6a5ce97ea40d

(maybe_resize_hash_table): Copy new size of hash table into EMACS_INT to avoid GCC warnings.
author Eli Zaretskii <eliz@gnu.org>
date Sat, 13 Jan 2007 21:46:28 +0000
parents 9e5c071deb9f
children 8f98728fbb1f
files src/fns.c
diffstat 1 files changed, 5 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/fns.c	Sat Jan 13 21:46:02 2007 +0000
+++ b/src/fns.c	Sat Jan 13 21:46:28 2007 +0000
@@ -4668,6 +4668,7 @@
     {
       int old_size = HASH_TABLE_SIZE (h);
       int i, new_size, index_size;
+      EMACS_INT nsize;
 
       if (INTEGERP (h->rehash_size))
 	new_size = old_size + XFASTINT (h->rehash_size);
@@ -4677,7 +4678,10 @@
       index_size = next_almost_prime ((int)
 				      (new_size
 				       / XFLOATINT (h->rehash_threshold)));
-      if (max (index_size, 2 * new_size) > MOST_POSITIVE_FIXNUM)
+      /* Assignment to EMACS_INT stops GCC whining about limited range
+	 of data type.  */
+      nsize = max (index_size, 2 * new_size);
+      if (nsize > MOST_POSITIVE_FIXNUM)
 	error ("Hash table too large to resize");
 
       h->key_and_value = larger_vector (h->key_and_value, 2 * new_size, Qnil);