X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fobstack.h;h=137e3ff70f34e4c63dc70152e68e50ae390aab78;hb=799b98ef9a6e8ddb5b17a056433ee2018329de26;hp=840a63baaa099a1401b09691be77e0005443a0dd;hpb=bc244b778ac3e17089454050ac86662ad51f7fd0;p=gnulib.git diff --git a/lib/obstack.h b/lib/obstack.h index 840a63baa..137e3ff70 100644 --- a/lib/obstack.h +++ b/lib/obstack.h @@ -103,6 +103,10 @@ Summary: #ifndef __OBSTACK_H__ #define __OBSTACK_H__ +#ifdef HAVE_CONFIG_H +# include +#endif + /* We use subtraction of (char *)0 instead of casting to int because on word-addressable machines a simple cast to int may ignore the byte-within-word field of the pointer. */ @@ -138,6 +142,15 @@ Summary: #define PTR_INT_TYPE long #endif +#if HAVE_STRING_H || STDC_HEADERS +# include +# ifndef bcopy +# define bcopy(s, d, n) memcpy ((d), (s), (n)) +# endif +#else /* HAVE_STRING_H || STDC_HEADERS */ +# include +#endif /* not (HAVE_STRING_H || STDC_HEADERS) */ + struct _obstack_chunk /* Lives at front of each chunk. */ { char *limit; /* 1 past end of this chunk */ @@ -272,7 +285,7 @@ int obstack_chunk_size (struct obstack *obstack); /* NextStep 2.0 cc is really gcc 1.93 but it defines __GNUC__ = 2 and does not implement __extension__. But that compiler doesn't define __GNUC_MINOR__. */ -#if __GNUC__ < 2 || !__GNUC_MINOR__ +#if __GNUC__ < 2 || (__NeXT__ && !__GNUC_MINOR__) #define __extension__ #endif @@ -331,7 +344,7 @@ __extension__ \ /* 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); \