]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
pexecute.c: Updates from gcc.
authorJeff Law <law@gcc.gnu.org>
Sat, 5 Sep 1998 10:42:19 +0000 (04:42 -0600)
committerJeff Law <law@gcc.gnu.org>
Sat, 5 Sep 1998 10:42:19 +0000 (04:42 -0600)
        * pexecute.c: Updates from gcc.  Copy in gcc has been removed.  This
        is the canonical copy.  Define ISSPACE if !IN_GCC.
        * alloca.c, vfprintf.c: Similarly.

From-SVN: r22249

libiberty/alloca.c
libiberty/vfprintf.c

index 911d42fcb8c44b7cafcd14278908eb69a03a28a6..0f8a21511db8f5112a4042762f6f8f0c4d5e5658 100644 (file)
    your main control loop, etc. to force garbage collection.  */
 
 #ifdef HAVE_CONFIG_H
-#include "config.h"
+#include <config.h>
 #endif
 
-/* If compiling with GCC, this file's not needed.  */
+#ifdef HAVE_STRING_H
+#include <string.h>
+#endif
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+
+#ifdef emacs
+#include "blockinput.h"
+#endif
+
+/* If compiling with GCC 2, this file's not needed.  Except of course if
+   the C alloca is explicitly requested.  */
+#if defined (USE_C_ALLOCA) || !defined (__GNUC__) || __GNUC__ < 2
+
+/* If someone has defined alloca as a macro,
+   there must be some other way alloca is supposed to work.  */
 #ifndef alloca
 
 #ifdef emacs
@@ -53,11 +69,9 @@ long i00afunc ();
 #endif
 
 #if __STDC__
-#include <stddef.h>
 typedef void *pointer;
 #else
 typedef char *pointer;
-typedef unsigned size_t;
 #endif
 
 #ifndef NULL
@@ -76,8 +90,8 @@ typedef unsigned size_t;
 
 #ifndef emacs
 #define malloc xmalloc
-extern pointer xmalloc ();
 #endif
+extern pointer malloc ();
 
 /* Define STACK_DIRECTION if you know the direction of stack
    growth for your system; otherwise it will be automatically
@@ -156,7 +170,7 @@ static header *last_alloca_header = NULL;   /* -> last alloca header.  */
 
 pointer
 alloca (size)
-     size_t size;
+     unsigned size;
 {
   auto char probe;             /* Probes stack depth: */
   register char *depth = ADDRESS_FUNCTION (probe);
@@ -167,11 +181,15 @@ alloca (size)
 #endif
 
   /* Reclaim garbage, defined as all alloca'd storage that
-     was allocated from deeper in the stack than currently. */
+     was allocated from deeper in the stack than currently.  */
 
   {
     register header *hp;       /* Traverses linked list.  */
 
+#ifdef emacs
+    BLOCK_INPUT;
+#endif
+
     for (hp = last_alloca_header; hp != NULL;)
       if ((STACK_DIR > 0 && hp->h.deep > depth)
          || (STACK_DIR < 0 && hp->h.deep < depth))
@@ -186,6 +204,10 @@ alloca (size)
        break;                  /* Rest are not deeper.  */
 
     last_alloca_header = hp;   /* -> last valid storage.  */
+
+#ifdef emacs
+    UNBLOCK_INPUT;
+#endif
   }
 
   if (size == 0)
@@ -197,6 +219,9 @@ alloca (size)
     register pointer new = malloc (sizeof (header) + size);
     /* Address of header.  */
 
+    if (new == 0)
+      abort();
+
     ((header *) new)->h.next = last_alloca_header;
     ((header *) new)->h.deep = depth;
 
@@ -326,7 +351,7 @@ struct stk_trailer
 
 #ifdef CRAY2
 /* Determine a "stack measure" for an arbitrary ADDRESS.
-   I doubt that "lint" will like this much. */
+   I doubt that "lint" will like this much.  */
 
 static long
 i00afunc (long *address)
@@ -477,3 +502,4 @@ i00afunc (long address)
 #endif /* CRAY */
 
 #endif /* no alloca */
+#endif /* not GCC version 2 */
index ce3fdf9c474538f0ed3e594793a3698fc025694f..db7b2ff4c19e0f92e7548e11430ec79fbba6465f 100644 (file)
@@ -1,13 +1,21 @@
-#include <stdio.h>
+/* Provide a version vfprintf in terms of _doprnt.
+   By Kaveh Ghazi  (ghazi@caip.rutgers.edu)  3/29/98
+   Copyright (C) 1998 Free Software Foundation, Inc.
+ */
+
+#ifdef __STDC__
+#include <stdarg.h>
+#else
 #include <varargs.h>
-#include <ansidecl.h>
+#endif
+#include <stdio.h>
 #undef vfprintf
 
 int
-vfprintf (file, format, ap)
-     FILE *file;
-     const char *format;
-     va_list ap;
+vfprintf (stream, format, ap)
+  FILE * stream;
+  const char * format;
+  va_list ap;
 {
-   return _doprnt (format, ap, file);
+  return _doprnt (format, ap, stream);
 }