public inbox for newlib-cvs@sourceware.org
help / color / mirror / Atom feed
* [newlib-cygwin] bitset: expand bit index type to `long`
@ 2022-06-24  5:42 Sebastian Huber
  0 siblings, 0 replies; only message in thread
From: Sebastian Huber @ 2022-06-24  5:42 UTC (permalink / raw)
  To: newlib-cvs

https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=9d50b446899810ca22daf98cbb309510073f1bd0

commit 9d50b446899810ca22daf98cbb309510073f1bd0
Author: D Scott Phillips <scottph@FreeBSD.org>
Date:   Mon Sep 21 22:19:12 2020 +0000

    bitset: expand bit index type to `long`
    
    An upcoming patch to use the bitset macros for tracking vm page
    dump information could conceivably need more than INT_MAX bits.
    Expand the bit type to long so that the extra range is available
    on 64-bit platforms where it would most likely be needed.
    
    CPUSET_COUNT and DOMAINSET_COUNT are also modified to remain of
    type `int`.
    
    Reviewed by:    kib, markj
    Approved by:    scottl (implicit)
    MFC after:      1 week
    Sponsored by:   Ampere Computing, Inc.
    Differential Revision:  https://reviews.freebsd.org/D26190

Diff:
---
 newlib/libc/sys/rtems/include/sys/bitset.h | 7 +++----
 newlib/libc/sys/rtems/include/sys/cpuset.h | 2 +-
 2 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/newlib/libc/sys/rtems/include/sys/bitset.h b/newlib/libc/sys/rtems/include/sys/bitset.h
index 2e00dab7b..3f263acd0 100644
--- a/newlib/libc/sys/rtems/include/sys/bitset.h
+++ b/newlib/libc/sys/rtems/include/sys/bitset.h
@@ -216,8 +216,7 @@
  */
 #define	BIT_FFS_AT(_s, p, start) __extension__ ({			\
 	__size_t __i;							\
-	long __mask;							\
-	int __bit;							\
+	long __bit, __mask;						\
 									\
 	__mask = ~0UL << ((start) % _BITSET_BITS);			\
 	__bit = 0;							\
@@ -238,7 +237,7 @@
 
 #define	BIT_FLS(_s, p) __extension__ ({					\
 	__size_t __i;							\
-	int __bit;							\
+	long __bit;							\
 									\
 	__bit = 0;							\
 	for (__i = __bitset_words((_s)); __i > 0; __i--) {		\
@@ -253,7 +252,7 @@
 
 #define	BIT_COUNT(_s, p) __extension__ ({				\
 	__size_t __i;							\
-	int __count;							\
+	long __count;							\
 									\
 	__count = 0;							\
 	for (__i = 0; __i < __bitset_words((_s)); __i++)		\
diff --git a/newlib/libc/sys/rtems/include/sys/cpuset.h b/newlib/libc/sys/rtems/include/sys/cpuset.h
index a8af67bac..7958e3b1a 100644
--- a/newlib/libc/sys/rtems/include/sys/cpuset.h
+++ b/newlib/libc/sys/rtems/include/sys/cpuset.h
@@ -191,7 +191,7 @@ static __inline void CPU_ANDNOT(cpu_set_t *destset, const cpu_set_t *srcset1,
 
 static __inline int CPU_COUNT_S(size_t setsize, const cpu_set_t *set)
 {
-  return BIT_COUNT(_cpu_set_bits(setsize), set);
+  return (int)BIT_COUNT(_cpu_set_bits(setsize), set);
 }
 
 static __inline int CPU_COUNT(const cpu_set_t *set)


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-06-24  5:42 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-24  5:42 [newlib-cygwin] bitset: expand bit index type to `long` Sebastian Huber

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).