From d9697354487c09683dd0b1265cf6f8b3fd523a71 Mon Sep 17 00:00:00 2001 From: DJ Delorie Date: Wed, 4 Apr 2001 01:16:27 +0000 Subject: [PATCH] merge from gcc --- include/ChangeLog | 4 ++++ include/ansidecl.h | 28 ++++++++++++++++++++++++++++ libiberty/ChangeLog | 4 ++++ libiberty/make-temp-file.c | 4 ++-- 4 files changed, 38 insertions(+), 2 deletions(-) diff --git a/include/ChangeLog b/include/ChangeLog index 550af2e9f9..3a37d1ac09 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,7 @@ +2001-04-03 Zack Weinberg + + * ansidecl.h: All logic from gcc/gansidecl.h moved here. + 2001-03-31 Kaveh R. Ghazi * libiberty.h (alloca): Handle setting C_ALLOCA. diff --git a/include/ansidecl.h b/include/ansidecl.h index 545a62103a..88187be678 100644 --- a/include/ansidecl.h +++ b/include/ansidecl.h @@ -161,6 +161,15 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #endif /* ANSI C. */ +/* This is for GCC, which has historically used typed null pointer + constants. It needs to be here so it is seen by headers included + by gcc's config.h. + + FIXME: GCC probably doesn't need to use typed nulls anymore. + Clean it up, then remove this. Ware variable-argument functions. */ +#ifdef IN_GCC +# define NULL_PTR ((PTR) 0) +#endif /* Using MACRO(x,y) in cpp #if conditionals does not work with some older preprocessors. Thus we can't define something like this: @@ -230,4 +239,23 @@ So instead we use the macro below and test it against specific values. */ #define __extension__ #endif +/* Bootstrap support: Autoconf will possibly define the `inline' or + `const' keywords as macros, however this is only valid for the + stage1 compiler. If we detect a modern version of gcc, + unconditionally reset the values. This makes sure the right thing + happens in stage2 and later. We need to do this very early; + i.e. before any header files that might use these keywords. + Otherwise conflicts might occur. */ + +#if (GCC_VERSION >= 2007) +# ifdef __STDC__ +# undef const +# endif +# undef inline +# define inline __inline__ /* __inline__ prevents -pedantic warnings */ +# ifndef HAVE_LONG_DOUBLE +# define HAVE_LONG_DOUBLE 1 +# endif +#endif /* GCC >= 2.7 */ + #endif /* ansidecl.h */ diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index a2b39ae80a..79bef792c2 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,3 +1,7 @@ +2001-04-03 Zack Weinberg + + * make-temp-file.c (try): Inline. + 2001-02-28 Richard Henderson * Makefile.in (make-temp-file.o): Depend on config.h. diff --git a/libiberty/make-temp-file.c b/libiberty/make-temp-file.c index 67efed16a5..f3e1d10e9a 100644 --- a/libiberty/make-temp-file.c +++ b/libiberty/make-temp-file.c @@ -61,9 +61,9 @@ extern int mkstemps PARAMS ((char *, int)); If success, DIR is returned. Otherwise NULL is returned. */ -static const char *try PARAMS ((const char *, const char *)); +static inline const char *try PARAMS ((const char *, const char *)); -static const char * +static inline const char * try (dir, base) const char *dir, *base; { -- 2.34.1