From: Mattias EngdegÄrd Date: Tue, 21 Nov 2023 18:26:23 +0000 (+0100) Subject: Change hash_idx_t to int32_t on all platforms X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=68f8bc3111424527205ebfe4498e5bebf50f50bf;p=emacs.git Change hash_idx_t to int32_t on all platforms * src/lisp.h (hash_idx_t): Change to int32_t. * src/fns.c (hash_index_size): Adapt to new index type. --- diff --git a/src/fns.c b/src/fns.c index 4a38126d9dc..3acbc7f86a1 100644 --- a/src/fns.c +++ b/src/fns.c @@ -4515,7 +4515,8 @@ hash_index_size (ptrdiff_t size) /* An upper bound on the size of a hash table index. It must fit in ptrdiff_t and be a valid Emacs fixnum. */ ptrdiff_t upper_bound = min (MOST_POSITIVE_FIXNUM, - PTRDIFF_MAX / sizeof (ptrdiff_t)); + min (TYPE_MAXIMUM (hash_idx_t), + PTRDIFF_MAX / sizeof (ptrdiff_t))); ptrdiff_t index_size = size + (size >> 2); /* 1.25x larger */ if (index_size < upper_bound) index_size = next_almost_prime (index_size); diff --git a/src/lisp.h b/src/lisp.h index 5b70e96d6a1..f27f506b58f 100644 --- a/src/lisp.h +++ b/src/lisp.h @@ -2432,7 +2432,7 @@ verify (FIXNUM_OVERFLOW_P (hash_unused)); /* The type of a hash table index, both for table indices and index (hash) indices. It's signed and a subtype of ptrdiff_t. */ -typedef ptrdiff_t hash_idx_t; +typedef int32_t hash_idx_t; struct Lisp_Hash_Table {