merge from gcc
authorDJ Delorie <dj@redhat.com>
Wed, 4 Apr 2001 01:16:27 +0000 (01:16 +0000)
committerDJ Delorie <dj@redhat.com>
Wed, 4 Apr 2001 01:16:27 +0000 (01:16 +0000)
include/ChangeLog
include/ansidecl.h
libiberty/ChangeLog
libiberty/make-temp-file.c

index 550af2e9f98fb3328c986918799a1a25b3b20b2b..3a37d1ac0939ff0602ac318dd8e5cd2b9abefae5 100644 (file)
@@ -1,3 +1,7 @@
+2001-04-03  Zack Weinberg  <zackw@stanford.edu>
+
+       * ansidecl.h: All logic from gcc/gansidecl.h moved here.
+
 2001-03-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
        * libiberty.h (alloca): Handle setting C_ALLOCA.
index 545a62103a959f43d0109d4be4e27c2cfdc59d4e..88187be678685da6e175cd0b9bf2007ed7e5ee05 100644 (file)
@@ -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   */
index a2b39ae80a19da7ea10df2be3dfdac45a14a7536..79bef792c20cd8ac9fc89d5c47861728bd2f3541 100644 (file)
@@ -1,3 +1,7 @@
+2001-04-03  Zack Weinberg  <zackw@stanford.edu>
+
+       * make-temp-file.c (try): Inline.
+
 2001-02-28  Richard Henderson  <rth@redhat.com>
 
        * Makefile.in (make-temp-file.o): Depend on config.h.
index 67efed16a581dfe09e3c7ec395516ad5e1ddf8fb..f3e1d10e9a75de257278edda8b9ad9365ac45422 100644 (file)
@@ -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;
 {