mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-20 01:33:03 +00:00
(alloca): Remove; decl no longer needed.
(<stddef.h>): Include, for offsetof. (<inttypes.>, <stdint.h>): Include if available. (uintptr_t): New type, if system lacks it. (CALLOC, MALLOC, REALLOC): New macros. All uses of XCALLOC, XMALLOC, and XREALLOC changed to use these new macros.
This commit is contained in:
35
src/system.h
35
src/system.h
@@ -22,23 +22,7 @@
|
|||||||
# include <config.h>
|
# include <config.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* AIX requires this to be the first thing in the file. */
|
#include <stddef.h>
|
||||||
#ifdef __GNUC__
|
|
||||||
# define alloca(Size) __builtin_alloca (Size)
|
|
||||||
#else
|
|
||||||
# if HAVE_ALLOCA_H
|
|
||||||
# include <alloca.h>
|
|
||||||
# else
|
|
||||||
# ifdef _AIX
|
|
||||||
#pragma alloca
|
|
||||||
# else
|
|
||||||
# ifndef alloca /* predefined by HP cc +Olibcalls */
|
|
||||||
char *alloca ();
|
|
||||||
# endif
|
|
||||||
# endif
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
/* Verify a requirement at compile-time (unlike assert, which is runtime). */
|
/* Verify a requirement at compile-time (unlike assert, which is runtime). */
|
||||||
@@ -81,7 +65,24 @@ char *alloca ();
|
|||||||
|
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
|
|
||||||
|
#if HAVE_UINTPTR_T
|
||||||
|
# if HAVE_INTTYPES_H
|
||||||
|
# include <inttypes.h>
|
||||||
|
# else
|
||||||
|
# if HAVE_STDINT_H
|
||||||
|
# include <stdint.h>
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
#else
|
||||||
|
/* This isn't perfect, but it's good enough for Bison, which needs
|
||||||
|
only to hash pointers. */
|
||||||
|
typedef size_t uintptr_t;
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <xalloc.h>
|
#include <xalloc.h>
|
||||||
|
#define CALLOC(P, N) ((P) = xcalloc (N, sizeof *(P)))
|
||||||
|
#define MALLOC(P, N) ((P) = xmalloc ((N) * sizeof *(P)))
|
||||||
|
#define REALLOC(P, N) ((P) = xrealloc (P, (N) * sizeof *(P)))
|
||||||
|
|
||||||
/* From xstrndup.c. */
|
/* From xstrndup.c. */
|
||||||
char *xstrndup (const char *s, size_t n);
|
char *xstrndup (const char *s, size_t n);
|
||||||
|
|||||||
Reference in New Issue
Block a user