[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[no subject]
From: |
Gavin D. Smith |
Date: |
Wed, 13 Nov 2024 17:17:03 -0500 (EST) |
branch: master
commit b1bfcea126e4048b526066f1a4e7b05471a824f8
Author: Gavin Smith <gavinsmith0123@gmail.com>
AuthorDate: Wed Nov 13 22:16:15 2024 +0000
* tp/Texinfo/XS: run
gnulib-tool --add-import obstack. Module not currently used.
---
ChangeLog | 5 +
tp/Texinfo/XS/gnulib/lib/Makefile.am | 35 --
tp/Texinfo/XS/gnulib/lib/alignof.h | 56 ----
tp/Texinfo/XS/gnulib/lib/obstack.c | 332 -------------------
tp/Texinfo/XS/gnulib/lib/obstack.in.h | 555 --------------------------------
tp/Texinfo/XS/gnulib/m4/gnulib-cache.m4 | 2 -
tp/Texinfo/XS/gnulib/m4/gnulib-comp.m4 | 14 -
tp/Texinfo/XS/gnulib/m4/obstack.m4 | 72 -----
tp/Texinfo/XS/gnulib/m4/stdalign.m4 | 209 ------------
tp/Texinfo/XS/gnulib/po/POTFILES.in | 3 -
10 files changed, 5 insertions(+), 1278 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index defab96ec7..6cd0a0397c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2024-11-13 Gavin Smith <gavinsmith0123@gmail.com>
+
+ * tp/Texinfo/XS: run
+ gnulib-tool --add-import obstack. Module not currently used.
+
2024-11-10 Gavin Smith <gavinsmith0123@gmail.com>
pretest 7.1.91
diff --git a/tp/Texinfo/XS/gnulib/lib/Makefile.am
b/tp/Texinfo/XS/gnulib/lib/Makefile.am
index 5952d1bfb6..d3f35f76b0 100644
--- a/tp/Texinfo/XS/gnulib/lib/Makefile.am
+++ b/tp/Texinfo/XS/gnulib/lib/Makefile.am
@@ -40,7 +40,6 @@
# iconv \
# libunistring \
# locale \
-# obstack \
# setenv \
# strchrnul \
# strndup \
@@ -141,13 +140,6 @@ EXTRA_libgnu_la_SOURCES += acl_entries.c
## end gnulib module acl-permissions
-## begin gnulib module alignof
-
-
-EXTRA_DIST += alignof.h
-
-## end gnulib module alignof
-
## begin gnulib module alloca-opt
BUILT_SOURCES += $(ALLOCA_H)
@@ -886,33 +878,6 @@ EXTRA_DIST += msvc-nothrow.h
## end gnulib module msvc-nothrow
-## begin gnulib module obstack
-
-BUILT_SOURCES += $(OBSTACK_H)
-
-# We need the following in order to create <obstack.h> when the system
-# doesn't have one that works with any size object.
-if GL_GENERATE_OBSTACK_H
-obstack.h: obstack.in.h $(top_builddir)/config.status
- $(gl_V_at)$(SED_HEADER_STDOUT) \
- -e 's|@''REPLACE_OBSTACK''@|$(REPLACE_OBSTACK)|g' \
- -e 's|@''SMALL_PTRDIFF_T''@|$(SMALL_PTRDIFF_T)|g' \
- $(srcdir)/obstack.in.h > $@-t
- $(AM_V_at)mv $@-t $@
-else
-obstack.h: $(top_builddir)/config.status
- rm -f $@
-endif
-MOSTLYCLEANFILES += obstack.h obstack.h-t
-
-if GL_COND_OBJ_OBSTACK
-libgnu_la_SOURCES += obstack.c
-endif
-
-EXTRA_DIST += obstack.in.h
-
-## end gnulib module obstack
-
## begin gnulib module open
if GL_COND_OBJ_OPEN
diff --git a/tp/Texinfo/XS/gnulib/lib/alignof.h
b/tp/Texinfo/XS/gnulib/lib/alignof.h
deleted file mode 100644
index 581aaee9bc..0000000000
--- a/tp/Texinfo/XS/gnulib/lib/alignof.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/* Determine alignment of types.
- Copyright (C) 2003-2004, 2006, 2009-2024 Free Software Foundation, Inc.
-
- This file is free software: you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of the
- License, or (at your option) any later version.
-
- This file is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-#ifndef _ALIGNOF_H
-#define _ALIGNOF_H
-
-/* This file uses alignof. */
-#if !_GL_CONFIG_H_INCLUDED
- #error "Please include config.h first."
-#endif
-
-#include <stddef.h>
-
-/* alignof_slot (TYPE)
- Determine the alignment of a structure slot (field) of a given type,
- at compile time. Note that the result depends on the ABI.
- This is the same as alignof (TYPE).
- Note: The result cannot be used as a value for an 'enum' constant,
- due to bugs in HP-UX 10.20 cc and AIX 3.2.5 xlc. */
-#if defined __cplusplus
- template <class type> struct alignof_helper { char __slot1; type __slot2; };
-# define alignof_slot(type) offsetof (alignof_helper<type>, __slot2)
-#else
-# define alignof_slot(type) alignof (type)
-#endif
-
-/* alignof_type (TYPE)
- Determine the good alignment of an object of the given type at compile time.
- Note that this is not necessarily the same as alignof_slot(type).
- For example, with GNU C on x86 platforms and with clang on Linux/x86:
- alignof_type(long long) = 8, but alignof_slot(long long) = 4.
- And alignof_type(double) = 8, but
- - when -malign-double is not specified: alignof_slot(double) = 4,
- - when -malign-double is specified: alignof_slot(double) = 8.
- Note: The result cannot be used as a value for an 'enum' constant,
- due to bugs in HP-UX 10.20 cc and AIX 3.2.5 xlc. */
-#if defined __GNUC__ || defined __clang__ || defined __IBM__ALIGNOF__
-# define alignof_type __alignof__
-#else
-# define alignof_type alignof_slot
-#endif
-
-#endif /* _ALIGNOF_H */
diff --git a/tp/Texinfo/XS/gnulib/lib/obstack.c
b/tp/Texinfo/XS/gnulib/lib/obstack.c
deleted file mode 100644
index b00cd88e1a..0000000000
--- a/tp/Texinfo/XS/gnulib/lib/obstack.c
+++ /dev/null
@@ -1,332 +0,0 @@
-/* obstack.c - subroutines used implicitly by object stack macros
- Copyright (C) 1988-2024 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- This file is free software: you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation, either version 3 of the
- License, or (at your option) any later version.
-
- This file is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-
-#ifdef _LIBC
-# include <obstack.h>
-#else
-# include <config.h>
-# include "obstack.h"
-#endif
-
-/* NOTE BEFORE MODIFYING THIS FILE IN GNU LIBC: _OBSTACK_INTERFACE_VERSION in
- gnu-versions.h must be incremented whenever callers compiled using an old
- obstack.h can no longer properly call the functions in this file. */
-
-/* If GCC, or if an oddball (testing?) host that #defines __alignof__,
- use the already-supplied __alignof__. Otherwise, this must be Gnulib
- (as glibc assumes GCC); defer to Gnulib's alignof_type. */
-#if !defined __GNUC__ && !defined __alignof__
-# include <alignof.h>
-# define __alignof__(type) alignof_type (type)
-#endif
-#include <stdlib.h>
-#include <stdint.h>
-
-#ifndef MAX
-# define MAX(a,b) ((a) > (b) ? (a) : (b))
-#endif
-
-/* Determine default alignment. */
-
-/* If malloc were really smart, it would round addresses to DEFAULT_ALIGNMENT.
- But in fact it might be less smart and round addresses to as much as
- DEFAULT_ROUNDING. So we prepare for it to do that.
-
- DEFAULT_ALIGNMENT cannot be an enum constant; see gnulib's alignof.h. */
-#define DEFAULT_ALIGNMENT MAX (__alignof__ (long double), \
- MAX (__alignof__ (uintmax_t), \
- __alignof__ (void *)))
-#define DEFAULT_ROUNDING MAX (sizeof (long double), \
- MAX (sizeof (uintmax_t),
\
- sizeof (void *)))
-
-/* Call functions with either the traditional malloc/free calling
- interface, or the mmalloc/mfree interface (that adds an extra first
- argument), based on the value of use_extra_arg. */
-
-static void *
-call_chunkfun (struct obstack *h, size_t size)
-{
- if (h->use_extra_arg)
- return h->chunkfun.extra (h->extra_arg, size);
- else
- return h->chunkfun.plain (size);
-}
-
-static void
-call_freefun (struct obstack *h, void *old_chunk)
-{
- if (h->use_extra_arg)
- h->freefun.extra (h->extra_arg, old_chunk);
- else
- h->freefun.plain (old_chunk);
-}
-
-
-/* Initialize an obstack H for use. Specify chunk size SIZE (0 means default).
- Objects start on multiples of ALIGNMENT (0 means use default).
-
- Return nonzero if successful, calls obstack_alloc_failed_handler if
- allocation fails. */
-
-static int
-_obstack_begin_worker (struct obstack *h,
- _OBSTACK_SIZE_T size, _OBSTACK_SIZE_T alignment)
-{
- struct _obstack_chunk *chunk; /* points to new chunk */
-
- if (alignment == 0)
- alignment = DEFAULT_ALIGNMENT;
- if (size == 0)
- /* Default size is what GNU malloc can fit in a 4096-byte block. */
- {
- /* 12 is sizeof (mhead) and 4 is EXTRA from GNU malloc.
- Use the values for range checking, because if range checking is off,
- the extra bytes won't be missed terribly, but if range checking is on
- and we used a larger request, a whole extra 4096 bytes would be
- allocated.
-
- These number are irrelevant to the new GNU malloc. I suspect it is
- less sensitive to the size of the request. */
- int extra = ((((12 + DEFAULT_ROUNDING - 1) & ~(DEFAULT_ROUNDING - 1))
- + 4 + DEFAULT_ROUNDING - 1)
- & ~(DEFAULT_ROUNDING - 1));
- size = 4096 - extra;
- }
-
- h->chunk_size = size;
- h->alignment_mask = alignment - 1;
-
- chunk = h->chunk = call_chunkfun (h, h->chunk_size);
- if (!chunk)
- (*obstack_alloc_failed_handler) ();
- h->next_free = h->object_base = __PTR_ALIGN ((char *) chunk, chunk->contents,
- alignment - 1);
- h->chunk_limit = chunk->limit = (char *) chunk + h->chunk_size;
- chunk->prev = 0;
- /* The initial chunk now contains no empty object. */
- h->maybe_empty_object = 0;
- h->alloc_failed = 0;
- return 1;
-}
-
-int
-_obstack_begin (struct obstack *h,
- _OBSTACK_SIZE_T size, _OBSTACK_SIZE_T alignment,
- void *(*chunkfun) (size_t),
- void (*freefun) (void *))
-{
- h->chunkfun.plain = chunkfun;
- h->freefun.plain = freefun;
- h->use_extra_arg = 0;
- return _obstack_begin_worker (h, size, alignment);
-}
-
-int
-_obstack_begin_1 (struct obstack *h,
- _OBSTACK_SIZE_T size, _OBSTACK_SIZE_T alignment,
- void *(*chunkfun) (void *, size_t),
- void (*freefun) (void *, void *),
- void *arg)
-{
- h->chunkfun.extra = chunkfun;
- h->freefun.extra = freefun;
- h->extra_arg = arg;
- h->use_extra_arg = 1;
- return _obstack_begin_worker (h, size, alignment);
-}
-
-/* Allocate a new current chunk for the obstack *H
- on the assumption that LENGTH bytes need to be added
- to the current object, or a new object of length LENGTH allocated.
- Copies any partial object from the end of the old chunk
- to the beginning of the new one. */
-
-void
-_obstack_newchunk (struct obstack *h, _OBSTACK_SIZE_T length)
-{
- struct _obstack_chunk *old_chunk = h->chunk;
- struct _obstack_chunk *new_chunk = 0;
- size_t obj_size = h->next_free - h->object_base;
- char *object_base;
-
- /* Compute size for new chunk. */
- size_t sum1 = obj_size + length;
- size_t sum2 = sum1 + h->alignment_mask;
- size_t new_size = sum2 + (obj_size >> 3) + 100;
- if (new_size < sum2)
- new_size = sum2;
- if (new_size < h->chunk_size)
- new_size = h->chunk_size;
-
- /* Allocate and initialize the new chunk. */
- if (obj_size <= sum1 && sum1 <= sum2)
- new_chunk = call_chunkfun (h, new_size);
- if (!new_chunk)
- (*obstack_alloc_failed_handler)();
- h->chunk = new_chunk;
- new_chunk->prev = old_chunk;
- new_chunk->limit = h->chunk_limit = (char *) new_chunk + new_size;
-
- /* Compute an aligned object_base in the new chunk */
- object_base =
- __PTR_ALIGN ((char *) new_chunk, new_chunk->contents, h->alignment_mask);
-
- /* Move the existing object to the new chunk. */
- memcpy (object_base, h->object_base, obj_size);
-
- /* If the object just copied was the only data in OLD_CHUNK,
- free that chunk and remove it from the chain.
- But not if that chunk might contain an empty object. */
- if (!h->maybe_empty_object
- && (h->object_base
- == __PTR_ALIGN ((char *) old_chunk, old_chunk->contents,
- h->alignment_mask)))
- {
- new_chunk->prev = old_chunk->prev;
- call_freefun (h, old_chunk);
- }
-
- h->object_base = object_base;
- h->next_free = h->object_base + obj_size;
- /* The new chunk certainly contains no empty object yet. */
- h->maybe_empty_object = 0;
-}
-
-/* Return nonzero if object OBJ has been allocated from obstack H.
- This is here for debugging.
- If you use it in a program, you are probably losing. */
-
-/* Suppress -Wmissing-prototypes warning. We don't want to declare this in
- obstack.h because it is just for debugging. */
-int _obstack_allocated_p (struct obstack *h, void *obj) __attribute_pure__;
-
-int
-_obstack_allocated_p (struct obstack *h, void *obj)
-{
- struct _obstack_chunk *lp; /* below addr of any objects in this chunk */
- struct _obstack_chunk *plp; /* point to previous chunk if any */
-
- lp = (h)->chunk;
- /* We use >= rather than > since the object cannot be exactly at
- the beginning of the chunk but might be an empty object exactly
- at the end of an adjacent chunk. */
- while (lp != 0 && ((void *) lp >= obj || (void *) (lp)->limit < obj))
- {
- plp = lp->prev;
- lp = plp;
- }
- return lp != 0;
-}
-
-/* Free objects in obstack H, including OBJ and everything allocate
- more recently than OBJ. If OBJ is zero, free everything in H. */
-
-void
-_obstack_free (struct obstack *h, void *obj)
-{
- struct _obstack_chunk *lp; /* below addr of any objects in this chunk */
- struct _obstack_chunk *plp; /* point to previous chunk if any */
-
- lp = h->chunk;
- /* We use >= because there cannot be an object at the beginning of a chunk.
- But there can be an empty object at that address
- at the end of another chunk. */
- while (lp != 0 && ((void *) lp >= obj || (void *) (lp)->limit < obj))
- {
- plp = lp->prev;
- call_freefun (h, lp);
- lp = plp;
- /* If we switch chunks, we can't tell whether the new current
- chunk contains an empty object, so assume that it may. */
- h->maybe_empty_object = 1;
- }
- if (lp)
- {
- h->object_base = h->next_free = (char *) (obj);
- h->chunk_limit = lp->limit;
- h->chunk = lp;
- }
- else if (obj != 0)
- /* obj is not in any of the chunks! */
- abort ();
-}
-
-_OBSTACK_SIZE_T
-_obstack_memory_used (struct obstack *h)
-{
- struct _obstack_chunk *lp;
- _OBSTACK_SIZE_T nbytes = 0;
-
- for (lp = h->chunk; lp != 0; lp = lp->prev)
- {
- nbytes += lp->limit - (char *) lp;
- }
- return nbytes;
-}
-
-#ifndef _OBSTACK_NO_ERROR_HANDLER
-/* Define the error handler. */
-# include <stdio.h>
-
-/* Exit value used when 'print_and_abort' is used. */
-# ifdef _LIBC
-int obstack_exit_failure = EXIT_FAILURE;
-# else
-# include "exitfail.h"
-# define obstack_exit_failure exit_failure
-# endif
-
-# ifdef _LIBC
-# include <libintl.h>
-# else
-# include "gettext.h"
-# endif
-# ifndef _
-# define _(msgid) gettext (msgid)
-# endif
-
-# ifdef _LIBC
-# include <libio/iolibio.h>
-# endif
-
-static __attribute_noreturn__ void
-print_and_abort (void)
-{
- /* Don't change any of these strings. Yes, it would be possible to add
- the newline to the string and use fputs or so. But this must not
- happen because the "memory exhausted" message appears in other places
- like this and the translation should be reused instead of creating
- a very similar string which requires a separate translation. */
-# ifdef _LIBC
- (void) __fxprintf (NULL, "%s\n", _("memory exhausted"));
-# else
- fprintf (stderr, "%s\n", _("memory exhausted"));
-# endif
- exit (obstack_exit_failure);
-}
-
-/* The functions allocating more room by calling 'obstack_chunk_alloc'
- jump to the handler pointed to by 'obstack_alloc_failed_handler'.
- This can be set to a user defined function which should either
- abort gracefully or use longjump - but shouldn't return. This
- variable by default points to the internal function
- 'print_and_abort'. */
-__attribute_noreturn__ void (*obstack_alloc_failed_handler) (void)
- = print_and_abort;
-#endif /* !_OBSTACK_NO_ERROR_HANDLER */
diff --git a/tp/Texinfo/XS/gnulib/lib/obstack.in.h
b/tp/Texinfo/XS/gnulib/lib/obstack.in.h
deleted file mode 100644
index 28fb4d8916..0000000000
--- a/tp/Texinfo/XS/gnulib/lib/obstack.in.h
+++ /dev/null
@@ -1,555 +0,0 @@
-/* obstack.h - object stack macros
- Copyright (C) 1988-2024 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- This file is free software: you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation, either version 3 of the
- License, or (at your option) any later version.
-
- This file is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-/* Summary:
-
- All the apparent functions defined here are macros. The idea
- is that you would use these pre-tested macros to solve a
- very specific set of problems, and they would run fast.
- Caution: no side-effects in arguments please!! They may be
- evaluated MANY times!!
-
- These macros operate a stack of objects. Each object starts life
- small, and may grow to maturity. (Consider building a word syllable
- by syllable.) An object can move while it is growing. Once it has
- been "finished" it never changes address again. So the "top of the
- stack" is typically an immature growing object, while the rest of the
- stack is of mature, fixed size and fixed address objects.
-
- These routines grab large chunks of memory, using a function you
- supply, called 'obstack_chunk_alloc'. On occasion, they free chunks,
- by calling 'obstack_chunk_free'. You must define them and declare
- them before using any obstack macros.
-
- Each independent stack is represented by a 'struct obstack'.
- Each of the obstack macros expects a pointer to such a structure
- as the first argument.
-
- One motivation for this package is the problem of growing char strings
- in symbol tables. Unless you are "fascist pig with a read-only mind"
- --Gosper's immortal quote from HAKMEM item 154, out of context--you
- would not like to put any arbitrary upper limit on the length of your
- symbols.
-
- In practice this often means you will build many short symbols and a
- few long symbols. At the time you are reading a symbol you don't know
- how long it is. One traditional method is to read a symbol into a
- buffer, realloc()ating the buffer every time you try to read a symbol
- that is longer than the buffer. This is beaut, but you still will
- want to copy the symbol from the buffer to a more permanent
- symbol-table entry say about half the time.
-
- With obstacks, you can work differently. Use one obstack for all symbol
- names. As you read a symbol, grow the name in the obstack gradually.
- When the name is complete, finalize it. Then, if the symbol exists already,
- free the newly read name.
-
- The way we do this is to take a large chunk, allocating memory from
- low addresses. When you want to build a symbol in the chunk you just
- add chars above the current "high water mark" in the chunk. When you
- have finished adding chars, because you got to the end of the symbol,
- you know how long the chars are, and you can create a new object.
- Mostly the chars will not burst over the highest address of the chunk,
- because you would typically expect a chunk to be (say) 100 times as
- long as an average object.
-
- In case that isn't clear, when we have enough chars to make up
- the object, THEY ARE ALREADY CONTIGUOUS IN THE CHUNK (guaranteed)
- so we just point to it where it lies. No moving of chars is
- needed and this is the second win: potentially long strings need
- never be explicitly shuffled. Once an object is formed, it does not
- change its address during its lifetime.
-
- When the chars burst over a chunk boundary, we allocate a larger
- chunk, and then copy the partly formed object from the end of the old
- chunk to the beginning of the new larger chunk. We then carry on
- accreting characters to the end of the object as we normally would.
-
- A special macro is provided to add a single char at a time to a
- growing object. This allows the use of register variables, which
- break the ordinary 'growth' macro.
-
- Summary:
- We allocate large chunks.
- We carve out one object at a time from the current chunk.
- Once carved, an object never moves.
- We are free to append data of any size to the currently
- growing object.
- Exactly one object is growing in an obstack at any one time.
- You can run one obstack per control block.
- You may have as many control blocks as you dare.
- Because of the way we do it, you can "unwind" an obstack
- back to a previous state. (You may remove objects much
- as you would with a stack.)
- */
-
-/* Documentation (part of the GNU libc manual):
- <https://www.gnu.org/software/libc/manual/html_node/Obstacks.html> */
-
-
-/* Don't do the contents of this file more than once. */
-#ifndef _OBSTACK_H
-#define _OBSTACK_H 1
-
-/* This file uses _Noreturn, _GL_ATTRIBUTE_PURE. */
-#if !_GL_CONFIG_H_INCLUDED
- #error "Please include config.h first."
-#endif
-
-#include <stddef.h> /* For size_t and ptrdiff_t. */
-#include <stdint.h> /* For uintptr_t. */
-#include <string.h> /* For memcpy. */
-
-#if __STDC_VERSION__ < 199901L || defined __HP_cc
-# define __FLEXIBLE_ARRAY_MEMBER 1
-#else
-# define __FLEXIBLE_ARRAY_MEMBER
-#endif
-
-/* These macros highlight the places where this implementation
- is different from the one in GNU libc. */
-#ifdef _LIBC
-# define _OBSTACK_SIZE_T unsigned int
-# define _CHUNK_SIZE_T unsigned long
-# define _OBSTACK_CAST(type, expr) ((type) (expr))
-#else
-/* In Gnulib, we use sane types, especially for 64-bit hosts. */
-# define _OBSTACK_SIZE_T size_t
-# define _CHUNK_SIZE_T size_t
-# define _OBSTACK_CAST(type, expr) (expr)
-#endif
-
-/* __PTR_ALIGN(B, P, A) returns the result of aligning P to the next multiple
- of A + 1. B must be the base of an object addressed by P. B and P must be
- of type char *. A + 1 must be a power of 2.
- If ptrdiff_t is narrower than a pointer (e.g., the AS/400), play it
- safe and compute the alignment relative to B. Otherwise, use the
- faster strategy of computing the alignment through uintptr_t. */
-#if @SMALL_PTRDIFF_T@
-# define __PTR_ALIGN(B, P, A) \
- ((B) + (((P) - (B) + (A)) & ~(A)))
-#else
-# define __PTR_ALIGN(B, P, A) \
- ((P) + ((- (uintptr_t) (P)) & (A)))
-#endif
-
-#ifndef __attribute_pure__
-# define __attribute_pure__ _GL_ATTRIBUTE_PURE
-#endif
-
-/* Not the same as _Noreturn, since it also works with function pointers. */
-#ifndef __attribute_noreturn__
-# if 2 < __GNUC__ + (8 <= __GNUC_MINOR__) || defined __clang__ || 0x5110 <=
__SUNPRO_C
-# define __attribute_noreturn__ __attribute__ ((__noreturn__))
-# else
-# define __attribute_noreturn__
-# endif
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-struct _obstack_chunk /* Lives at front of each chunk. */
-{
- char *limit; /* 1 past end of this chunk */
- struct _obstack_chunk *prev; /* address of prior chunk or NULL */
- char contents[__FLEXIBLE_ARRAY_MEMBER]; /* objects begin here */
-};
-
-struct obstack /* control current object in current chunk */
-{
- _CHUNK_SIZE_T chunk_size; /* preferred size to allocate chunks in */
- struct _obstack_chunk *chunk; /* address of current struct obstack_chunk */
- char *object_base; /* address of object we are building */
- char *next_free; /* where to add next char to current object */
- char *chunk_limit; /* address of char after current chunk */
- union
- {
- _OBSTACK_SIZE_T i;
- void *p;
- } temp; /* Temporary for some macros. */
- _OBSTACK_SIZE_T alignment_mask; /* Mask of alignment for each object. */
-
- /* These prototypes vary based on 'use_extra_arg'. */
- union
- {
- void *(*plain) (size_t);
- void *(*extra) (void *, size_t);
- } chunkfun;
- union
- {
- void (*plain) (void *);
- void (*extra) (void *, void *);
- } freefun;
-
- void *extra_arg; /* first arg for chunk alloc/dealloc funcs */
- unsigned use_extra_arg : 1; /* chunk alloc/dealloc funcs take extra arg
*/
- unsigned maybe_empty_object : 1; /* There is a possibility that the current
- chunk contains a zero-length object.
This
- prevents freeing the chunk if we allocate
- a bigger chunk to replace it. */
- unsigned alloc_failed : 1; /* No longer used, as we now call the failed
- handler on error, but retained for binary
- compatibility. */
-};
-
-/* Declare the external functions we use; they are in obstack.c. */
-
-#if @REPLACE_OBSTACK@
-# define _obstack_newchunk rpl_obstack_newchunk
-# define _obstack_free rpl_obstack_free
-# define _obstack_begin rpl_obstack_begin
-# define _obstack_begin_1 rpl_obstack_begin_1
-# define _obstack_memory_used rpl_obstack_memory_used
-# define _obstack_allocated_p rpl_obstack_allocated_p
-#endif
-extern void _obstack_newchunk (struct obstack *, _OBSTACK_SIZE_T);
-extern void _obstack_free (struct obstack *, void *);
-extern int _obstack_begin (struct obstack *,
- _OBSTACK_SIZE_T, _OBSTACK_SIZE_T,
- void *(*) (size_t), void (*) (void *));
-extern int _obstack_begin_1 (struct obstack *,
- _OBSTACK_SIZE_T, _OBSTACK_SIZE_T,
- void *(*) (void *, size_t),
- void (*) (void *, void *), void *);
-extern _OBSTACK_SIZE_T _obstack_memory_used (struct obstack *)
- __attribute_pure__;
-
-
-/* Error handler called when 'obstack_chunk_alloc' failed to allocate
- more memory. This can be set to a user defined function which
- should either abort gracefully or use longjump - but shouldn't
- return. The default action is to print a message and abort. */
-extern __attribute_noreturn__ void (*obstack_alloc_failed_handler) (void);
-
-/* Exit value used when 'print_and_abort' is used. */
-extern int obstack_exit_failure;
-
-/* Pointer to beginning of object being allocated or to be allocated next.
- Note that this might not be the final address of the object
- because a new chunk might be needed to hold the final size. */
-
-#define obstack_base(h) ((void *) (h)->object_base)
-
-/* Size for allocating ordinary chunks. */
-
-#define obstack_chunk_size(h) ((h)->chunk_size)
-
-/* Pointer to next byte not yet allocated in current chunk. */
-
-#define obstack_next_free(h) ((void *) (h)->next_free)
-
-/* Mask specifying low bits that should be clear in address of an object. */
-
-#define obstack_alignment_mask(h) ((h)->alignment_mask)
-
-/* To prevent prototype warnings provide complete argument list. */
-#define obstack_init(h)
\
- _obstack_begin ((h), 0, 0, \
- _OBSTACK_CAST (void *(*) (size_t), obstack_chunk_alloc), \
- _OBSTACK_CAST (void (*) (void *), obstack_chunk_free))
-
-#define obstack_begin(h, size) \
- _obstack_begin ((h), (size), 0, \
- _OBSTACK_CAST (void *(*) (size_t), obstack_chunk_alloc), \
- _OBSTACK_CAST (void (*) (void *), obstack_chunk_free))
-
-#define obstack_specify_allocation(h, size, alignment, chunkfun, freefun) \
- _obstack_begin ((h), (size), (alignment), \
- _OBSTACK_CAST (void *(*) (size_t), chunkfun),
\
- _OBSTACK_CAST (void (*) (void *), freefun))
-
-#define obstack_specify_allocation_with_arg(h, size, alignment, chunkfun,
freefun, arg) \
- _obstack_begin_1 ((h), (size), (alignment), \
- _OBSTACK_CAST (void *(*) (void *, size_t), chunkfun), \
- _OBSTACK_CAST (void (*) (void *, void *), freefun), arg)
-
-#define obstack_chunkfun(h, newchunkfun) \
- ((void) ((h)->chunkfun.extra = (void *(*) (void *, size_t)) (newchunkfun)))
-
-#define obstack_freefun(h, newfreefun) \
- ((void) ((h)->freefun.extra = (void *(*) (void *, void *)) (newfreefun)))
-
-#define obstack_1grow_fast(h, achar) ((void) (*((h)->next_free)++ = (achar)))
-
-#define obstack_blank_fast(h, n) ((void) ((h)->next_free += (n)))
-
-#define obstack_memory_used(h) _obstack_memory_used (h)
-
-#if defined __GNUC__ || defined __clang__
-# if !(defined __GNUC_MINOR__ && __GNUC__ * 1000 + __GNUC_MINOR__ >= 2008 \
- || defined __clang__)
-# define __extension__
-# endif
-
-/* For GNU C, if not -traditional,
- we can define these macros to compute all args only once
- without using a global variable.
- Also, we can avoid using the 'temp' slot, to make faster code. */
-
-# define obstack_object_size(OBSTACK) \
- __extension__
\
- ({ struct obstack const *__o = (OBSTACK); \
- (_OBSTACK_SIZE_T) (__o->next_free - __o->object_base); })
-
-/* The local variable is named __o1 to avoid a shadowed variable
- warning when invoked from other obstack macros. */
-# define obstack_room(OBSTACK) \
- __extension__
\
- ({ struct obstack const *__o1 = (OBSTACK); \
- (_OBSTACK_SIZE_T) (__o1->chunk_limit - __o1->next_free); })
-
-# define obstack_make_room(OBSTACK, length) \
- __extension__
\
- ({ struct obstack *__o = (OBSTACK);
\
- _OBSTACK_SIZE_T __len = (length); \
- if (obstack_room (__o) < __len) \
- _obstack_newchunk (__o, __len); \
- (void) 0; })
-
-# define obstack_empty_p(OBSTACK) \
- __extension__
\
- ({ struct obstack const *__o = (OBSTACK); \
- (__o->chunk->prev == 0 \
- && __o->next_free == __PTR_ALIGN ((char *) __o->chunk, \
- __o->chunk->contents,
\
- __o->alignment_mask)); })
-
-# define obstack_grow(OBSTACK, where, length) \
- __extension__
\
- ({ struct obstack *__o = (OBSTACK);
\
- _OBSTACK_SIZE_T __len = (length); \
- if (obstack_room (__o) < __len) \
- _obstack_newchunk (__o, __len); \
- memcpy (__o->next_free, where, __len); \
- __o->next_free += __len;
\
- (void) 0; })
-
-# define obstack_grow0(OBSTACK, where, length) \
- __extension__
\
- ({ struct obstack *__o = (OBSTACK);
\
- _OBSTACK_SIZE_T __len = (length); \
- if (obstack_room (__o) < __len + 1) \
- _obstack_newchunk (__o, __len + 1); \
- memcpy (__o->next_free, where, __len); \
- __o->next_free += __len;
\
- *(__o->next_free)++ = 0;
\
- (void) 0; })
-
-# define obstack_1grow(OBSTACK, datum) \
- __extension__
\
- ({ struct obstack *__o = (OBSTACK);
\
- if (obstack_room (__o) < 1) \
- _obstack_newchunk (__o, 1); \
- obstack_1grow_fast (__o, datum); })
-
-/* These assume that the obstack alignment is good enough for pointers
- or ints, and that the data added so far to the current object
- shares that much alignment. */
-
-# define obstack_ptr_grow(OBSTACK, datum) \
- __extension__
\
- ({ struct obstack *__o = (OBSTACK);
\
- if (obstack_room (__o) < sizeof (void *)) \
- _obstack_newchunk (__o, sizeof (void *)); \
- obstack_ptr_grow_fast (__o, datum); })
-
-# define obstack_int_grow(OBSTACK, datum) \
- __extension__
\
- ({ struct obstack *__o = (OBSTACK);
\
- if (obstack_room (__o) < sizeof (int)) \
- _obstack_newchunk (__o, sizeof (int));
\
- obstack_int_grow_fast (__o, datum); })
-
-# define obstack_ptr_grow_fast(OBSTACK, aptr) \
- __extension__
\
- ({ struct obstack *__o1 = (OBSTACK); \
- void *__p1 = __o1->next_free; \
- *(const void **) __p1 = (aptr); \
- __o1->next_free += sizeof (const void *); \
- (void) 0; })
-
-# define obstack_int_grow_fast(OBSTACK, aint) \
- __extension__
\
- ({ struct obstack *__o1 = (OBSTACK); \
- void *__p1 = __o1->next_free; \
- *(int *) __p1 = (aint); \
- __o1->next_free += sizeof (int);
\
- (void) 0; })
-
-# define obstack_blank(OBSTACK, length)
\
- __extension__
\
- ({ struct obstack *__o = (OBSTACK);
\
- _OBSTACK_SIZE_T __len = (length); \
- if (obstack_room (__o) < __len) \
- _obstack_newchunk (__o, __len); \
- obstack_blank_fast (__o, __len); })
-
-# define obstack_alloc(OBSTACK, length)
\
- __extension__
\
- ({ struct obstack *__h = (OBSTACK);
\
- obstack_blank (__h, (length)); \
- obstack_finish (__h); })
-
-# define obstack_copy(OBSTACK, where, length) \
- __extension__
\
- ({ struct obstack *__h = (OBSTACK);
\
- obstack_grow (__h, (where), (length)); \
- obstack_finish (__h); })
-
-# define obstack_copy0(OBSTACK, where, length) \
- __extension__
\
- ({ struct obstack *__h = (OBSTACK);
\
- obstack_grow0 (__h, (where), (length)); \
- obstack_finish (__h); })
-
-/* The local variable is named __o1 to avoid a shadowed variable
- warning when invoked from other obstack macros, typically obstack_free. */
-# define obstack_finish(OBSTACK) \
- __extension__
\
- ({ struct obstack *__o1 = (OBSTACK); \
- void *__value = (void *) __o1->object_base; \
- if (__o1->next_free == __value) \
- __o1->maybe_empty_object = 1; \
- __o1->next_free \
- = __PTR_ALIGN (__o1->object_base, __o1->next_free, \
- __o1->alignment_mask); \
- if ((size_t) (__o1->next_free - (char *) __o1->chunk) \
- > (size_t) (__o1->chunk_limit - (char *) __o1->chunk)) \
- __o1->next_free = __o1->chunk_limit; \
- __o1->object_base = __o1->next_free; \
- __value; })
-
-# define obstack_free(OBSTACK, OBJ) \
- __extension__
\
- ({ struct obstack *__o = (OBSTACK);
\
- void *__obj = (void *) (OBJ); \
- if (__obj > (void *) __o->chunk && __obj < (void *) __o->chunk_limit) \
- __o->next_free = __o->object_base = (char *) __obj; \
- else \
- _obstack_free (__o, __obj); })
-
-#else /* not __GNUC__ */
-
-# define obstack_object_size(h)
\
- ((_OBSTACK_SIZE_T) ((h)->next_free - (h)->object_base))
-
-# define obstack_room(h) \
- ((_OBSTACK_SIZE_T) ((h)->chunk_limit - (h)->next_free))
-
-# define obstack_empty_p(h) \
- ((h)->chunk->prev == 0 \
- && (h)->next_free == __PTR_ALIGN ((char *) (h)->chunk, \
- (h)->chunk->contents, \
- (h)->alignment_mask))
-
-/* Note that the call to _obstack_newchunk is enclosed in (..., 0)
- so that we can avoid having void expressions
- in the arms of the conditional expression.
- Casting the third operand to void was tried before,
- but some compilers won't accept it. */
-
-# define obstack_make_room(h, length) \
- ((h)->temp.i = (length), \
- ((obstack_room (h) < (h)->temp.i) \
- ? (_obstack_newchunk (h, (h)->temp.i), 0) : 0), \
- (void) 0)
-
-# define obstack_grow(h, where, length)
\
- ((h)->temp.i = (length), \
- ((obstack_room (h) < (h)->temp.i) \
- ? (_obstack_newchunk ((h), (h)->temp.i), 0) : 0), \
- memcpy ((h)->next_free, where, (h)->temp.i),
\
- (h)->next_free += (h)->temp.i, \
- (void) 0)
-
-# define obstack_grow0(h, where, length) \
- ((h)->temp.i = (length), \
- ((obstack_room (h) < (h)->temp.i + 1) \
- ? (_obstack_newchunk ((h), (h)->temp.i + 1), 0) : 0), \
- memcpy ((h)->next_free, where, (h)->temp.i),
\
- (h)->next_free += (h)->temp.i, \
- *((h)->next_free)++ = 0, \
- (void) 0)
-
-# define obstack_1grow(h, datum) \
- (((obstack_room (h) < 1) \
- ? (_obstack_newchunk ((h), 1), 0) : 0), \
- obstack_1grow_fast (h, datum))
-
-# define obstack_ptr_grow(h, datum) \
- (((obstack_room (h) < sizeof (char *)) \
- ? (_obstack_newchunk ((h), sizeof (char *)), 0) : 0), \
- obstack_ptr_grow_fast (h, datum))
-
-# define obstack_int_grow(h, datum) \
- (((obstack_room (h) < sizeof (int)) \
- ? (_obstack_newchunk ((h), sizeof (int)), 0) : 0), \
- obstack_int_grow_fast (h, datum))
-
-# define obstack_ptr_grow_fast(h, aptr)
\
- (((const void **) ((h)->next_free += sizeof (void *)))[-1] = (aptr), \
- (void) 0)
-
-# define obstack_int_grow_fast(h, aint)
\
- (((int *) ((h)->next_free += sizeof (int)))[-1] = (aint), \
- (void) 0)
-
-# define obstack_blank(h, length) \
- ((h)->temp.i = (length), \
- ((obstack_room (h) < (h)->temp.i) \
- ? (_obstack_newchunk ((h), (h)->temp.i), 0) : 0), \
- obstack_blank_fast (h, (h)->temp.i))
-
-# define obstack_alloc(h, length) \
- (obstack_blank ((h), (length)), obstack_finish ((h)))
-
-# define obstack_copy(h, where, length)
\
- (obstack_grow ((h), (where), (length)), obstack_finish ((h)))
-
-# define obstack_copy0(h, where, length) \
- (obstack_grow0 ((h), (where), (length)), obstack_finish ((h)))
-
-# define obstack_finish(h) \
- (((h)->next_free == (h)->object_base \
- ? (((h)->maybe_empty_object = 1), 0) \
- : 0), \
- (h)->temp.p = (h)->object_base, \
- (h)->next_free \
- = __PTR_ALIGN ((h)->object_base, (h)->next_free, \
- (h)->alignment_mask), \
- (((size_t) ((h)->next_free - (char *) (h)->chunk) \
- > (size_t) ((h)->chunk_limit - (char *) (h)->chunk)) \
- ? ((h)->next_free = (h)->chunk_limit) : 0), \
- (h)->object_base = (h)->next_free, \
- (h)->temp.p)
-
-# define obstack_free(h, obj) \
- ((h)->temp.p = (void *) (obj), \
- (((h)->temp.p > (void *) (h)->chunk \
- && (h)->temp.p < (void *) (h)->chunk_limit) \
- ? (void) ((h)->next_free = (h)->object_base = (char *) (h)->temp.p) \
- : _obstack_free ((h), (h)->temp.p)))
-
-#endif /* not __GNUC__ */
-
-#ifdef __cplusplus
-} /* C++ */
-#endif
-
-#endif /* _OBSTACK_H */
diff --git a/tp/Texinfo/XS/gnulib/m4/gnulib-cache.m4
b/tp/Texinfo/XS/gnulib/m4/gnulib-cache.m4
index 2f1f7e0b36..e2ac10353e 100644
--- a/tp/Texinfo/XS/gnulib/m4/gnulib-cache.m4
+++ b/tp/Texinfo/XS/gnulib/m4/gnulib-cache.m4
@@ -45,7 +45,6 @@
# iconv \
# libunistring \
# locale \
-# obstack \
# setenv \
# strchrnul \
# strndup \
@@ -85,7 +84,6 @@ gl_MODULES([
iconv
libunistring
locale
- obstack
setenv
strchrnul
strndup
diff --git a/tp/Texinfo/XS/gnulib/m4/gnulib-comp.m4
b/tp/Texinfo/XS/gnulib/m4/gnulib-comp.m4
index a36f7d4335..68b601270c 100644
--- a/tp/Texinfo/XS/gnulib/m4/gnulib-comp.m4
+++ b/tp/Texinfo/XS/gnulib/m4/gnulib-comp.m4
@@ -45,8 +45,6 @@ AC_DEFUN([gl_EARLY],
# Code from module absolute-header:
# Code from module access:
# Code from module acl-permissions:
- # Code from module alignasof:
- # Code from module alignof:
# Code from module alloca-opt:
# Code from module array-mergesort:
# Code from module assert-h:
@@ -127,7 +125,6 @@ AC_DEFUN([gl_EARLY],
# Code from module msvc-inval:
# Code from module msvc-nothrow:
# Code from module multiarch:
- # Code from module obstack:
# Code from module open:
# Code from module pathmax:
# Code from module qcopy-acl:
@@ -267,7 +264,6 @@ AC_DEFUN([gl_INIT],
gl_CONDITIONAL([GL_COND_OBJ_ACCESS], [test $REPLACE_ACCESS = 1])
gl_UNISTD_MODULE_INDICATOR([access])
gl_FUNC_ACL
- gl_ALIGNASOF
gl_FUNC_ALLOCA
gl_CONDITIONAL_HEADER([alloca.h])
AC_PROG_MKDIR_P
@@ -508,11 +504,6 @@ AC_DEFUN([gl_INIT],
[test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1])
gl_MODULE_INDICATOR([msvc-nothrow])
gl_MULTIARCH
- gl_FUNC_OBSTACK
- gl_CONDITIONAL_HEADER([obstack.h])
- gl_CONDITIONAL([GL_COND_OBJ_OBSTACK],
- [test $HAVE_OBSTACK = 0 || test $REPLACE_OBSTACK = 1])
- AC_PROG_MKDIR_P
gl_FUNC_OPEN
gl_CONDITIONAL([GL_COND_OBJ_OPEN], [test $REPLACE_OPEN = 1])
AM_COND_IF([GL_COND_OBJ_OPEN], [
@@ -1009,7 +1000,6 @@ AC_DEFUN([gl_FILE_LIST], [
lib/acl-internal.h
lib/acl.h
lib/acl_entries.c
- lib/alignof.h
lib/alloca.in.h
lib/arg-nonnull.h
lib/array-mergesort.h
@@ -1103,8 +1093,6 @@ AC_DEFUN([gl_FILE_LIST], [
lib/msvc-inval.h
lib/msvc-nothrow.c
lib/msvc-nothrow.h
- lib/obstack.c
- lib/obstack.in.h
lib/open.c
lib/pathmax.h
lib/printf-args.c
@@ -1352,7 +1340,6 @@ AC_DEFUN([gl_FILE_LIST], [
m4/msvc-nothrow.m4
m4/multiarch.m4
m4/musl.m4
- m4/obstack.m4
m4/off64_t.m4
m4/off_t.m4
m4/open-cloexec.m4
@@ -1378,7 +1365,6 @@ AC_DEFUN([gl_FILE_LIST], [
m4/stat-time.m4
m4/stat.m4
m4/std-gnu11.m4
- m4/stdalign.m4
m4/stddef_h.m4
m4/stdint.m4
m4/stdint_h.m4
diff --git a/tp/Texinfo/XS/gnulib/m4/obstack.m4
b/tp/Texinfo/XS/gnulib/m4/obstack.m4
deleted file mode 100644
index 71638317f6..0000000000
--- a/tp/Texinfo/XS/gnulib/m4/obstack.m4
+++ /dev/null
@@ -1,72 +0,0 @@
-# obstack.m4
-# serial 1
-dnl Copyright 1996-2024 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-dnl This file is offered as-is, without any warranty.
-
-# See if we need to provide obstacks.
-
-dnl Autoconf's AC_FUNC_OBSTACK is marked obsolete since version 2.70.
-dnl We provide our own macro here.
-
-AC_DEFUN([gl_FUNC_OBSTACK],
-[
- AC_CHECK_HEADERS_ONCE([obstack.h])
- if test $ac_cv_header_obstack_h = yes; then
- HAVE_OBSTACK=1
- AC_CACHE_CHECK([for obstacks that work with any size object],
- [gl_cv_func_obstack],
- [AC_LINK_IFELSE(
- [AC_LANG_PROGRAM(
- [[#include "obstack.h"
- void *obstack_chunk_alloc (size_t n) { return 0; }
- void obstack_chunk_free (void *p) { }
- /* Check that an internal function returns size_t, not int. */
- size_t _obstack_memory_used (struct obstack *);
- ]],
- [[struct obstack mem;
- obstack_init (&mem);
- obstack_free (&mem, 0);
- ]])],
- [gl_cv_func_obstack=yes],
- [gl_cv_func_obstack=no])
- ])
- if test $gl_cv_func_obstack = yes; then
- REPLACE_OBSTACK=0
- else
- REPLACE_OBSTACK=1
- fi
- else
- HAVE_OBSTACK=0
- REPLACE_OBSTACK=0
- fi
- if test $HAVE_OBSTACK = 0 || test $REPLACE_OBSTACK = 1; then
- GL_GENERATE_OBSTACK_H=true
- else
- GL_GENERATE_OBSTACK_H=false
- fi
- AC_SUBST([REPLACE_OBSTACK])
-
- dnl Test whether a 'ptrdiff_t' has at least as many bits as a pointer.
- AC_CACHE_CHECK([whether ptrdiff_t is at least as large as a pointer],
- [gl_cv_ptrdiff_t_wide_enough],
- [AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
- [[#include <stddef.h>
- typedef int check[2 * (sizeof (ptrdiff_t) >= sizeof (void *)) - 1];
- ]],
- [[]])],
- [gl_cv_ptrdiff_t_wide_enough=yes],
- [gl_cv_ptrdiff_t_wide_enough=no])
- ])
- if test $gl_cv_ptrdiff_t_wide_enough = yes; then
- SMALL_PTRDIFF_T=0
- else
- SMALL_PTRDIFF_T=1
- fi
- dnl SMALL_PTRDIFF_T is expected to be 1 only on old / exotic platforms
- dnl such as Windows 3.1 and AS/400.
- AC_SUBST([SMALL_PTRDIFF_T])
-])
diff --git a/tp/Texinfo/XS/gnulib/m4/stdalign.m4
b/tp/Texinfo/XS/gnulib/m4/stdalign.m4
deleted file mode 100644
index 80846d2354..0000000000
--- a/tp/Texinfo/XS/gnulib/m4/stdalign.m4
+++ /dev/null
@@ -1,209 +0,0 @@
-# stdalign.m4
-# serial 1
-dnl Copyright 2011-2024 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-dnl This file is offered as-is, without any warranty.
-
-# Check for alignas and alignof that conform to C23.
-
-dnl Written by Paul Eggert and Bruno Haible.
-
-# Prepare for substituting <stdalign.h> if it is not supported.
-
-AC_DEFUN([gl_ALIGNASOF],
-[
- AC_CACHE_CHECK([for alignas and alignof],
- [gl_cv_header_working_stdalign_h],
- [gl_saved_CFLAGS=$CFLAGS
- for gl_working in "yes, keywords" "yes, <stdalign.h> macros"; do
- AS_CASE([$gl_working],
- [*stdalign.h*], [CFLAGS="$gl_saved_CFLAGS -DINCLUDE_STDALIGN_H"])
- AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
- [[#include <stdint.h>
- #ifdef INCLUDE_STDALIGN_H
- #include <stdalign.h>
- #endif
- #include <stddef.h>
-
- /* Test that alignof yields a result consistent with offsetof.
- This catches GCC bug 52023
- <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023>. */
- #ifdef __cplusplus
- template <class t> struct alignof_helper { char a; t b; };
- # define ao(type) offsetof (alignof_helper<type>, b)
- #else
- # define ao(type) offsetof (struct { char a; type b; }, b)
- #endif
- char test_double[ao (double) % _Alignof (double) == 0 ? 1 : -1];
- char test_long[ao (long int) % _Alignof (long int) == 0 ? 1 : -1];
- char test_alignof[alignof (double) == _Alignof (double) ? 1 : -1];
-
- /* Test alignas only on platforms where gnulib can help. */
- #if \
- ((defined __cplusplus && 201103 <= __cplusplus) \
- || (__TINYC__ && defined __attribute__) \
- || (defined __APPLE__ && defined __MACH__ \
- ? 4 < __GNUC__ + (1 <= __GNUC_MINOR__) \
- : __GNUC__) \
- || (__ia64 && (61200 <= __HP_cc || 61200 <= __HP_aCC)) \
- || __ICC || 0x590 <= __SUNPRO_C || 0x0600 <= __xlC__ \
- || 1300 <= _MSC_VER)
- struct alignas_test { char c; char alignas (8) alignas_8; };
- char test_alignas[offsetof (struct alignas_test, alignas_8) == 8
- ? 1 : -1];
- #endif
- ]])],
- [gl_cv_header_working_stdalign_h=$gl_working],
- [gl_cv_header_working_stdalign_h=no])
-
- CFLAGS=$gl_saved_CFLAGS
- test "$gl_cv_header_working_stdalign_h" != no && break
- done])
-
- AS_CASE([$gl_cv_header_working_stdalign_h],
- [yes*keyword*],
- [AC_DEFINE([HAVE_C_ALIGNASOF], [1],
- [Define to 1 if the alignas and alignof keywords work.])])
-
- dnl The "zz" puts this toward config.h's end, to avoid potential
- dnl collisions with other definitions.
- AH_VERBATIM([zzalignas],
-[#if !defined HAVE_C_ALIGNASOF \
- && !(defined __cplusplus && 201103 <= __cplusplus) \
- && !defined alignof
-# if defined HAVE_STDALIGN_H
-# include <stdalign.h>
-# endif
-
-/* ISO C23 alignas and alignof for platforms that lack it.
-
- References:
- ISO C23 (latest free draft
- <http://www.open-std.org/jtc1/sc22/wg14/www/docs/n3096.pdf>)
- sections 6.5.3.4, 6.7.5, 7.15.
- C++11 (latest free draft
- <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf>)
- section 18.10. */
-
-/* alignof (TYPE), also known as _Alignof (TYPE), yields the alignment
- requirement of a structure member (i.e., slot or field) that is of
- type TYPE, as an integer constant expression.
-
- This differs from GCC's and clang's __alignof__ operator, which can
- yield a better-performing alignment for an object of that type. For
- example, on x86 with GCC and on Linux/x86 with clang,
- __alignof__ (double) and __alignof__ (long long) are 8, whereas
- alignof (double) and alignof (long long) are 4 unless the option
- '-malign-double' is used.
-
- The result cannot be used as a value for an 'enum' constant, if you
- want to be portable to HP-UX 10.20 cc and AIX 3.2.5 xlc. */
-
-/* GCC releases before GCC 4.9 had a bug in _Alignof. See GCC bug 52023
- <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023>.
- clang versions < 8.0.0 have the same bug. */
-# if (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112 \
- || (defined __GNUC__ && __GNUC__ < 4 + (__GNUC_MINOR__ < 9) \
- && !defined __clang__) \
- || (defined __clang__ && __clang_major__ < 8))
-# undef/**/_Alignof
-# ifdef __cplusplus
-# if (201103 <= __cplusplus || defined _MSC_VER)
-# define _Alignof(type) alignof (type)
-# else
- template <class __t> struct __alignof_helper { char __a; __t __b; };
-# if (defined __GNUC__ && 4 <= __GNUC__) || defined __clang__
-# define _Alignof(type) __builtin_offsetof (__alignof_helper<type>, __b)
-# else
-# define _Alignof(type) offsetof (__alignof_helper<type>, __b)
-# endif
-# define _GL_STDALIGN_NEEDS_STDDEF 1
-# endif
-# else
-# if (defined __GNUC__ && 4 <= __GNUC__) || defined __clang__
-# define _Alignof(type) __builtin_offsetof (struct { char __a; type __b;
}, __b)
-# else
-# define _Alignof(type) offsetof (struct { char __a; type __b; }, __b)
-# define _GL_STDALIGN_NEEDS_STDDEF 1
-# endif
-# endif
-# endif
-# if ! (defined __cplusplus && (201103 <= __cplusplus || defined _MSC_VER))
-# undef/**/alignof
-# define alignof _Alignof
-# endif
-
-/* alignas (A), also known as _Alignas (A), aligns a variable or type
- to the alignment A, where A is an integer constant expression. For
- example:
-
- int alignas (8) foo;
- struct s { int a; int alignas (8) bar; };
-
- aligns the address of FOO and the offset of BAR to be multiples of 8.
-
- A should be a power of two that is at least the type's alignment
- and at most the implementation's alignment limit. This limit is
- 2**28 on typical GNUish hosts, and 2**13 on MSVC. To be portable
- to MSVC through at least version 10.0, A should be an integer
- constant, as MSVC does not support expressions such as 1 << 3.
- To be portable to Sun C 5.11, do not align auto variables to
- anything stricter than their default alignment.
-
- The following C23 requirements are not supported here:
-
- - If A is zero, alignas has no effect.
- - alignas can be used multiple times; the strictest one wins.
- - alignas (TYPE) is equivalent to alignas (alignof (TYPE)).
-
- */
-# if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112
-# if defined __cplusplus && (201103 <= __cplusplus || defined _MSC_VER)
-# define _Alignas(a) alignas (a)
-# elif (!defined __attribute__ \
- && ((defined __APPLE__ && defined __MACH__ \
- ? 4 < __GNUC__ + (1 <= __GNUC_MINOR__) \
- : __GNUC__ && !defined __ibmxl__) \
- || (4 <= __clang_major__) \
- || (__ia64 && (61200 <= __HP_cc || 61200 <= __HP_aCC)) \
- || __ICC || 0x590 <= __SUNPRO_C || 0x0600 <= __xlC__))
-# define _Alignas(a) __attribute__ ((__aligned__ (a)))
-# elif 1300 <= _MSC_VER
-# define _Alignas(a) __declspec (align (a))
-# endif
-# endif
-# if !defined HAVE_STDALIGN_H
-# if ((defined _Alignas \
- && !(defined __cplusplus \
- && (201103 <= __cplusplus || defined _MSC_VER))) \
- || (defined __STDC_VERSION__ && 201112 <= __STDC_VERSION__))
-# define alignas _Alignas
-# endif
-# endif
-
-# if defined _GL_STDALIGN_NEEDS_STDDEF
-# include <stddef.h>
-# endif
-#endif])
-])
-
-AC_DEFUN([gl_STDALIGN_H],
-[
- AC_REQUIRE([gl_ALIGNASOF])
- if test "$gl_cv_header_working_stdalign_h" = no; then
- GL_GENERATE_STDALIGN_H=true
- else
- GL_GENERATE_STDALIGN_H=false
- fi
-
- gl_CHECK_NEXT_HEADERS([stdalign.h])
- if test $ac_cv_header_stdalign_h = yes; then
- HAVE_STDALIGN_H=1
- else
- HAVE_STDALIGN_H=0
- fi
- AC_SUBST([HAVE_STDALIGN_H])
-])
diff --git a/tp/Texinfo/XS/gnulib/po/POTFILES.in
b/tp/Texinfo/XS/gnulib/po/POTFILES.in
index cc19ebfbd8..b8e9a90201 100644
--- a/tp/Texinfo/XS/gnulib/po/POTFILES.in
+++ b/tp/Texinfo/XS/gnulib/po/POTFILES.in
@@ -29,7 +29,6 @@ gnulib/lib/acl-internal.c
gnulib/lib/acl-internal.h
gnulib/lib/acl.h
gnulib/lib/acl_entries.c
-gnulib/lib/alignof.h
gnulib/lib/alloca.in.h
gnulib/lib/arg-nonnull.h
gnulib/lib/array-mergesort.h
@@ -123,8 +122,6 @@ gnulib/lib/msvc-inval.c
gnulib/lib/msvc-inval.h
gnulib/lib/msvc-nothrow.c
gnulib/lib/msvc-nothrow.h
-gnulib/lib/obstack.c
-gnulib/lib/obstack.in.h
gnulib/lib/open.c
gnulib/lib/pathmax.h
gnulib/lib/printf-args.c