X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/4a0d89369599a2cea01f4fbdf791f426a02cb5a3..7f41b888214850deb3a2563cb07a4925f8b62bf5:/lib/obstack.h diff --git a/lib/obstack.h b/lib/obstack.h index c949730e..c0fc9ac6 100644 --- a/lib/obstack.h +++ b/lib/obstack.h @@ -1,5 +1,5 @@ /* obstack.h - object stack macros - Copyright (C) 1988,89,90,91,92,93,94,96,97,98,99 Free Software Foundation, Inc. + Copyright (C) 1988,89,90,91,92,93,94,96,97,98,99,2003 Free Software Foundation, Inc. This file is part of the GNU C Library. Its master source is NOT part of the C library, however. The master source lives in /gd/gnu/lib. @@ -123,8 +123,12 @@ extern "C" { #endif #ifndef __INT_TO_PTR +#if defined __STDC__ && __STDC__ +# define __INT_TO_PTR(P) ((void *) ((P) + (char *) 0)) +#else # define __INT_TO_PTR(P) ((P) + (char *) 0) #endif +#endif /* We need the type of the resulting object. If __PTRDIFF_TYPE__ is defined, as with GNU C, use that; that way we don't pollute the @@ -368,12 +372,12 @@ extern int obstack_exit_failure; # define obstack_object_size(OBSTACK) \ __extension__ \ - ({ struct obstack *__o = (OBSTACK); \ + ({ struct obstack const *__o = (OBSTACK); \ (unsigned) (__o->next_free - __o->object_base); }) # define obstack_room(OBSTACK) \ __extension__ \ - ({ struct obstack *__o = (OBSTACK); \ + ({ struct obstack const *__o = (OBSTACK); \ (unsigned) (__o->chunk_limit - __o->next_free); }) # define obstack_make_room(OBSTACK,length) \ @@ -386,7 +390,7 @@ __extension__ \ # define obstack_empty_p(OBSTACK) \ __extension__ \ - ({ struct obstack *__o = (OBSTACK); \ + ({ struct obstack const *__o = (OBSTACK); \ (__o->chunk->prev == 0 && __o->next_free - __o->chunk->contents == 0); }) # define obstack_grow(OBSTACK,where,length) \