* aclocal.m4 (LIB_AC_PROG_CC): Moved here from configure.in.

(AC_DEFINE_NOAUTOHEADER): New - work around bug in autoheader.
* configure.in: Call AC_C_INLINE and AC_C_CONST.  Use three
argument form of AC_DEFINE in dummy definitions block.  Use
AC_DEFINE_NOAUTOHEADER for real definitions of things defined
in dummy block.  Preload cache variables instead of bypassing
tests, where possible.
* acconfig.h: Removed.
* xmalloc.c (xmalloc_failed): New function, does error
reporting on failed allocation.
(xmalloc, xcalloc, xrealloc): Use it.
This commit is contained in:
DJ Delorie 2000-11-29 19:17:37 +00:00
parent 2c67cb8b7a
commit 2ea7befd8e
5 changed files with 104 additions and 123 deletions

View file

@ -1,3 +1,17 @@
2000-11-29 Zack Weinberg <zack@wolery.stanford.edu>
* aclocal.m4 (LIB_AC_PROG_CC): Moved here from configure.in.
(AC_DEFINE_NOAUTOHEADER): New - work around bug in autoheader.
* configure.in: Call AC_C_INLINE and AC_C_CONST. Use three
argument form of AC_DEFINE in dummy definitions block. Use
AC_DEFINE_NOAUTOHEADER for real definitions of things defined
in dummy block. Preload cache variables instead of bypassing
tests, where possible.
* acconfig.h: Removed.
* xmalloc.c (xmalloc_failed): New function, does error
reporting on failed allocation.
(xmalloc, xcalloc, xrealloc): Use it.
2000-11-22 H.J. Lu <hjl@gnu.org>
* cplus-dem.c (main): Handle gnat_demangling.

View file

@ -1,11 +0,0 @@
/* Define if you have the sys_errlist variable. */
#undef HAVE_SYS_ERRLIST
/* Define if you have the sys_nerr variable. */
#undef HAVE_SYS_NERR
/* Define if you have the sys_siglist variable. */
#undef HAVE_SYS_SIGLIST
/* Define if you have the strerror function. */
#undef HAVE_STRERROR

51
libiberty/aclocal.m4 vendored
View file

@ -83,3 +83,54 @@ then AC_DEFINE(NEED_DECLARATION_ERRNO, 1,
[Define if errno must be declared even when <errno.h> is included.])
fi
])
# FIXME: We temporarily define our own version of AC_PROG_CC. This is
# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
# are probably using a cross compiler, which will not be able to fully
# link an executable. This should really be fixed in autoconf
# itself.
AC_DEFUN(LIB_AC_PROG_CC,
[AC_BEFORE([$0], [AC_PROG_CPP])dnl
AC_PROVIDE([AC_PROG_CC])
AC_CHECK_PROG(CC, gcc, gcc)
if test -z "$CC"; then
AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
fi
AC_PROG_CC_GNU
if test $ac_cv_prog_gcc = yes; then
GCC=yes
ac_libiberty_warn_cflags='-W -Wall -Wtraditional -pedantic'
dnl Check whether -g works, even if CFLAGS is set, in case the package
dnl plays around with CFLAGS (such as to build both debugging and
dnl normal versions of a library), tasteless as that idea is.
ac_test_CFLAGS="${CFLAGS+set}"
ac_save_CFLAGS="$CFLAGS"
CFLAGS=
AC_PROG_CC_G
if test "$ac_test_CFLAGS" = set; then
CFLAGS="$ac_save_CFLAGS"
elif test $ac_cv_prog_cc_g = yes; then
CFLAGS="-g -O2"
else
CFLAGS="-O2"
fi
else
GCC=
ac_libiberty_warn_cflags=
test "${CFLAGS+set}" = set || CFLAGS="-g"
fi
AC_SUBST(ac_libiberty_warn_cflags)
])
# Work around a bug in autoheader. This can go away when we switch to
# autoconf >2.50. The use of define instead of AC_DEFUN is
# deliberate.
define(AC_DEFINE_NOAUTOHEADER,
[cat >> confdefs.h <<\EOF
[#define] $1 ifelse($#, 2, [$2], $#, 3, [$2], 1)
EOF
])

View file

@ -36,51 +36,11 @@ dnl to call AC_CHECK_PROG.
AC_CHECK_TOOL(AR, ar)
AC_CHECK_TOOL(RANLIB, ranlib, :)
# FIXME: We temporarily define our own version of AC_PROG_CC. This is
# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
# are probably using a cross compiler, which will not be able to fully
# link an executable. This should really be fixed in autoconf
# itself.
AC_DEFUN(LIB_AC_PROG_CC,
[AC_BEFORE([$0], [AC_PROG_CPP])dnl
AC_PROVIDE([AC_PROG_CC])
AC_CHECK_PROG(CC, gcc, gcc)
if test -z "$CC"; then
AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
fi
AC_PROG_CC_GNU
if test $ac_cv_prog_gcc = yes; then
GCC=yes
ac_libiberty_warn_cflags='-W -Wall -Wtraditional -pedantic'
dnl Check whether -g works, even if CFLAGS is set, in case the package
dnl plays around with CFLAGS (such as to build both debugging and
dnl normal versions of a library), tasteless as that idea is.
ac_test_CFLAGS="${CFLAGS+set}"
ac_save_CFLAGS="$CFLAGS"
CFLAGS=
AC_PROG_CC_G
if test "$ac_test_CFLAGS" = set; then
CFLAGS="$ac_save_CFLAGS"
elif test $ac_cv_prog_cc_g = yes; then
CFLAGS="-g -O2"
else
CFLAGS="-O2"
fi
else
GCC=
ac_libiberty_warn_cflags=
test "${CFLAGS+set}" = set || CFLAGS="-g"
fi
])
AC_SUBST(ac_libiberty_warn_cflags)
LIB_AC_PROG_CC
AC_ISC_POSIX
AC_C_CONST
AC_C_INLINE
dnl When we start using libtool:
dnl Default to a non shared library. This may be overridden by the
@ -172,11 +132,11 @@ if test "x" = "y"; then
AC_CHECK_FUNCS(memset putenv random rename rindex sigsetmask strcasecmp)
AC_CHECK_FUNCS(setenv strchr strdup strncasecmp strrchr strstr strtod strtol)
AC_CHECK_FUNCS(strtoul tmpnam vasprintf vfprintf vprintf vsprintf waitpid)
AC_DEFINE(HAVE_SYS_ERRLIST)
AC_DEFINE(HAVE_SYS_NERR)
AC_DEFINE(HAVE_SYS_SIGLIST)
AC_CHECK_FUNCS(getrusage on_exit psignal strerror strsignal sysconf times)
AC_CHECK_FUNCS(sbrk gettimeofday)
AC_DEFINE(HAVE_SYS_ERRLIST, 1, [Define if you have the sys_errlist variable.])
AC_DEFINE(HAVE_SYS_NERR, 1, [Define if you have the sys_nerr variable.])
AC_DEFINE(HAVE_SYS_SIGLIST, 1, [Define if you have the sys_siglist variable.])
fi
# For each of these functions, if the host does not provide the
@ -215,7 +175,7 @@ if test -n "${with_target_subdir}"; then
# dont have to check them here.
# Of the functions in $checkfuncs, newlib only has strerror.
AC_DEFINE(HAVE_STRERROR)
AC_DEFINE_NOAUTOHEADER(HAVE_STRERROR)
setobjs=yes
@ -256,7 +216,7 @@ if test -z "${setobjs}"; then
# don't have to check them here.
# Of the functions in $checkfuncs, VxWorks only has strerror.
AC_DEFINE(HAVE_STRERROR)
AC_DEFINE_NOAUTOHEADER(HAVE_STRERROR)
setobjs=yes
;;
@ -294,9 +254,8 @@ if test -z "${setobjs}"; then
*-*-mingw32*)
# Under mingw32, sys_nerr and sys_errlist exist, but they are
# macros, so the test below won't find them.
vars="`echo $vars | sed -e 's/sys_nerr//' -e 's/sys_errlist//'`"
AC_DEFINE(HAVE_SYS_NERR)
AC_DEFINE(HAVE_SYS_ERRLIST)
libiberty_cv_var_sys_nerr=yes
libiberty_cv_var_sys_errlist=yes
;;
*-*-uwin*)
@ -307,8 +266,8 @@ if test -z "${setobjs}"; then
# Under uwin 2.0+, sys_nerr and sys_errlist exist, but they are
# macros (actually, these are imported from a DLL, but the end effect
# is the same), so the test below won't find them.
AC_DEFINE(HAVE_SYS_NERR)
AC_DEFINE(HAVE_SYS_ERRLIST)
libiberty_cv_var_sys_nerr=yes
libiberty_cv_var_sys_errlist=yes
;;
esac

View file

@ -64,6 +64,31 @@ xmalloc_set_program_name (s)
#endif /* HAVE_SBRK */
}
void
xmalloc_failed (size)
size_t size;
{
#ifdef HAVE_SBRK
extern char **environ;
size_t allocated;
if (first_break != NULL)
allocated = (char *) sbrk (0) - first_break;
else
allocated = (char *) sbrk (0) - (char *) &environ;
fprintf (stderr,
"\n%s%sCannot allocate %lu bytes after allocating %lu bytes\n",
name, *name ? ": " : "",
(unsigned long) size, (unsigned long) allocated);
#else /* HAVE_SBRK */
fprintf (stderr,
"\n%s%sCannot allocate %lu bytes\n",
name, *name ? ": " : "",
(unsigned long) size);
#endif /* HAVE_SBRK */
xexit (1);
}
PTR
xmalloc (size)
size_t size;
@ -74,27 +99,8 @@ xmalloc (size)
size = 1;
newmem = malloc (size);
if (!newmem)
{
#ifdef HAVE_SBRK
extern char **environ;
size_t allocated;
xmalloc_failed (size);
if (first_break != NULL)
allocated = (char *) sbrk (0) - first_break;
else
allocated = (char *) sbrk (0) - (char *) &environ;
fprintf (stderr,
"\n%s%sCannot allocate %lu bytes after allocating %lu bytes\n",
name, *name ? ": " : "",
(unsigned long) size, (unsigned long) allocated);
#else /* HAVE_SBRK */
fprintf (stderr,
"\n%s%sCannot allocate %lu bytes\n",
name, *name ? ": " : "",
(unsigned long) size);
#endif /* HAVE_SBRK */
xexit (1);
}
return (newmem);
}
@ -109,27 +115,8 @@ xcalloc (nelem, elsize)
newmem = calloc (nelem, elsize);
if (!newmem)
{
#ifdef HAVE_SBRK
extern char **environ;
size_t allocated;
xmalloc_failed (nelem * elsize);
if (first_break != NULL)
allocated = (char *) sbrk (0) - first_break;
else
allocated = (char *) sbrk (0) - (char *) &environ;
fprintf (stderr,
"\n%s%sCannot allocate %lu bytes after allocating %lu bytes\n",
name, *name ? ": " : "",
(unsigned long) (nelem * elsize), (unsigned long) allocated);
#else /* HAVE_SBRK */
fprintf (stderr,
"\n%s%sCannot allocate %lu bytes\n",
name, *name ? ": " : "",
(unsigned long) (nelem * elsize));
#endif /* HAVE_SBRK */
xexit (1);
}
return (newmem);
}
@ -147,26 +134,7 @@ xrealloc (oldmem, size)
else
newmem = realloc (oldmem, size);
if (!newmem)
{
#ifdef HAVE_SBRK
extern char **environ;
size_t allocated;
xmalloc_failed (size);
if (first_break != NULL)
allocated = (char *) sbrk (0) - first_break;
else
allocated = (char *) sbrk (0) - (char *) &environ;
fprintf (stderr,
"\n%s%sCannot reallocate %lu bytes after allocating %lu bytes\n",
name, *name ? ": " : "",
(unsigned long) size, (unsigned long) allocated);
#else /* HAVE_SBRK */
fprintf (stderr,
"\n%s%sCannot reallocate %lu bytes\n",
name, *name ? ": " : "",
(unsigned long) size);
#endif /* HAVE_SBRK */
xexit (1);
}
return (newmem);
}