* lib/obstack.in.h (_OBSTACK_CHUNK_SIZE_T) [!__GL_GNULIB_HEADER]:
Now long, not unsigned long, since that’s what glibc does.
---
 ChangeLog        | 4 ++++
 lib/obstack.in.h | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index 8967f3d54f..eb0ba5d166 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2025-05-05  Paul Eggert  <egg...@cs.ucla.edu>
 
+       obstack: use signed chunk sizes
+       * lib/obstack.in.h (_OBSTACK_CHUNK_SIZE_T) [!__GL_GNULIB_HEADER]:
+       Now long, not unsigned long, since that’s what glibc does.
+
        obstack: fix undefined behavior if big alignment
        * lib/obstack.c: Include stddef.h, for offsetof.
        (align_size_up): New static function.
diff --git a/lib/obstack.in.h b/lib/obstack.in.h
index 232414b6b4..d5a0ceff6d 100644
--- a/lib/obstack.in.h
+++ b/lib/obstack.in.h
@@ -149,7 +149,7 @@
 /* For backward compatibility, glibc limits object sizes to int range.  */
 # define _OBSTACK_INDEX_T int
 # define _OBSTACK_SIZE_T unsigned int
-# define _OBSTACK_CHUNK_SIZE_T unsigned long
+# define _OBSTACK_CHUNK_SIZE_T long int
 # define _OBSTACK_CAST(type, expr) ((type) (expr))
 # define _OBSTACK_CHUNK_CONTENTS_SIZE 4
 #endif
-- 
2.49.0


Reply via email to