Fix GDB build using mingw.org's MinGW
[deliverable/binutils-gdb.git] / libiberty / xmalloc.c
index 433fd5ce3f3e393aa44c120b5d027808bb125e96..d54022cafa127fb210e1a951bdae5162165dfc99 100644 (file)
@@ -1,5 +1,5 @@
 /* memory allocation routines with error checking.
-   Copyright 1989, 90, 91, 92, 93, 94 Free Software Foundation, Inc.
+   Copyright (C) 1989-2018 Free Software Foundation, Inc.
    
 This file is part of the libiberty library.
 Libiberty is free software; you can redistribute it and/or
@@ -14,8 +14,8 @@ Library General Public License for more details.
 
 You should have received a copy of the GNU Library General Public
 License along with libiberty; see the file COPYING.LIB.  If
-not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA.  */
+not, write to the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
+Boston, MA 02110-1301, USA.  */
 
 /*
 
@@ -65,26 +65,34 @@ function will be called to print an error message and terminate execution.
 #endif
 #include "ansidecl.h"
 #include "libiberty.h"
+#include "environ.h"
 
 #include <stdio.h>
 
-#ifdef __STDC__
 #include <stddef.h>
-#else
-#define size_t unsigned long
-#define ptrdiff_t long
-#endif
 
 #if VMS
 #include <stdlib.h>
 #include <unixlib.h>
 #else
 /* For systems with larger pointers than ints, these must be declared.  */
-PTR malloc PARAMS ((size_t));
-PTR realloc PARAMS ((PTR, size_t));
-PTR calloc PARAMS ((size_t, size_t));
-PTR sbrk PARAMS ((ptrdiff_t));
-#endif
+#  if HAVE_STDLIB_H && HAVE_UNISTD_H && HAVE_DECL_MALLOC \
+      && HAVE_DECL_REALLOC && HAVE_DECL_CALLOC && HAVE_DECL_SBRK
+#    include <stdlib.h>
+#    include <unistd.h>
+#  else
+#    ifdef __cplusplus
+extern "C" {
+#    endif /* __cplusplus */
+void *malloc (size_t);
+void *realloc (void *, size_t);
+void *calloc (size_t, size_t);
+void *sbrk (ptrdiff_t);
+#    ifdef __cplusplus
+}
+#    endif /* __cplusplus */
+#  endif /* HAVE_STDLIB_H ...  */
+#endif /* VMS */
 
 /* The program name if set.  */
 static const char *name = "";
@@ -96,8 +104,7 @@ static char *first_break = NULL;
 #endif /* HAVE_SBRK */
 
 void
-xmalloc_set_program_name (s)
-     const char *s;
+xmalloc_set_program_name (const char *s)
 {
   name = s;
 #ifdef HAVE_SBRK
@@ -108,11 +115,9 @@ xmalloc_set_program_name (s)
 }
 
 void
-xmalloc_failed (size)
-     size_t size;
+xmalloc_failed (size_t size)
 {
 #ifdef HAVE_SBRK
-  extern char **environ;
   size_t allocated;
 
   if (first_break != NULL)
@@ -120,7 +125,7 @@ xmalloc_failed (size)
   else
     allocated = (char *) sbrk (0) - (char *) &environ;
   fprintf (stderr,
-          "\n%s%sout of memory allocating %lu bytes after allocating %lu bytes\n",
+          "\n%s%sout of memory allocating %lu bytes after a total of %lu bytes\n",
           name, *name ? ": " : "",
           (unsigned long) size, (unsigned long) allocated);
 #else /* HAVE_SBRK */
@@ -133,8 +138,7 @@ xmalloc_failed (size)
 }  
 
 PTR
-xmalloc (size)
-    size_t size;
+xmalloc (size_t size)
 {
   PTR newmem;
 
@@ -148,8 +152,7 @@ xmalloc (size)
 }
 
 PTR
-xcalloc (nelem, elsize)
-  size_t nelem, elsize;
+xcalloc (size_t nelem, size_t elsize)
 {
   PTR newmem;
 
@@ -164,9 +167,7 @@ xcalloc (nelem, elsize)
 }
 
 PTR
-xrealloc (oldmem, size)
-    PTR oldmem;
-    size_t size;
+xrealloc (PTR oldmem, size_t size)
 {
   PTR newmem;
 
This page took 0.025879 seconds and 4 git commands to generate.