X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/982cc3023c518a15adcf5069e8bc31e3ba92cb7c..464c692789eba089bb21ebd3983ebeaa4a8d3312:/src/system.h diff --git a/src/system.h b/src/system.h index 50149c98..068b308a 100644 --- a/src/system.h +++ b/src/system.h @@ -1,5 +1,6 @@ /* System-dependent definitions for Bison. - Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc. + + Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -22,23 +23,7 @@ # include #endif -/* AIX requires this to be the first thing in the file. */ -#ifdef __GNUC__ -# define alloca(Size) __builtin_alloca (Size) -#else -# if HAVE_ALLOCA_H -# include -# else -# ifdef _AIX - #pragma alloca -# else -# ifndef alloca /* predefined by HP cc +Olibcalls */ -char *alloca (); -# endif -# endif -# endif -#endif - +#include #include /* Verify a requirement at compile-time (unlike assert, which is runtime). */ @@ -81,7 +66,24 @@ char *alloca (); #include +#if HAVE_UINTPTR_T +# if HAVE_INTTYPES_H +# include +# else +# if HAVE_STDINT_H +# include +# 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 +#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. */ char *xstrndup (const char *s, size_t n); @@ -184,7 +186,19 @@ void *memrchr (const void *s, int c, size_t n); #if HAVE_STDBOOL_H # include #else -typedef enum {false = 0, true = 1} bool; +# ifndef __bool_true_false_are_defined +# if ! HAVE__BOOL +# ifdef __cplusplus +typedef bool _Bool; +# else +typedef unsigned char _Bool; +# endif +# endif +# define bool _Bool +# define false 0 +# define true 1 +# define __bool_true_false_are_defined 1 +# endif #endif