X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=libiberty%2Fxmalloc.c;h=3e97aab563f0e409a3d65a6258ee911e89101eb5;hb=4ad9b22f44b8c75090ba5dd151916e2b937aefde;hp=3fc23a91c7a457bc31a62b9da31e9fcf2a276ae3;hpb=997fdf4ae03fc53ec3f494542e4009aae0d1039c;p=pf3gnuchains%2Fgcc-fork.git diff --git a/libiberty/xmalloc.c b/libiberty/xmalloc.c index 3fc23a91c7a..3e97aab563f 100644 --- a/libiberty/xmalloc.c +++ b/libiberty/xmalloc.c @@ -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. */ /* @@ -29,13 +29,13 @@ a program to contain @code{#define malloc xmalloc} in its source. @end deftypefn -@deftypefn Replacement void* xrealloc (void*, size_t) +@deftypefn Replacement void* xrealloc (void *@var{ptr}, size_t @var{size}) Reallocate memory without fail. This routine functions like @code{realloc}, but will behave the same as @code{xmalloc} if memory cannot be found. @end deftypefn -@deftypefn Replacement void* xcalloc (size_t, size_t) +@deftypefn Replacement void* xcalloc (size_t @var{nelem}, size_t @var{elsize}) Allocate memory without fail, and set it to zero. This routine functions like @code{calloc}, but will behave the same as @code{xmalloc} if memory @@ -68,23 +68,30 @@ function will be called to print an error message and terminate execution. #include -#ifdef __STDC__ #include -#else -#define size_t unsigned long -#define ptrdiff_t long -#endif #if VMS #include #include #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 +# include +# 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 +103,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,8 +114,7 @@ xmalloc_set_program_name (s) } void -xmalloc_failed (size) - size_t size; +xmalloc_failed (size_t size) { #ifdef HAVE_SBRK extern char **environ; @@ -120,12 +125,12 @@ xmalloc_failed (size) else allocated = (char *) sbrk (0) - (char *) &environ; fprintf (stderr, - "\n%s%sCannot allocate %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 */ fprintf (stderr, - "\n%s%sCannot allocate %lu bytes\n", + "\n%s%sout of memory allocating %lu bytes\n", name, *name ? ": " : "", (unsigned long) size); #endif /* 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;