* 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:
parent
2c67cb8b7a
commit
2ea7befd8e
5 changed files with 104 additions and 123 deletions
|
@ -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.
|
||||
|
|
|
@ -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
51
libiberty/aclocal.m4
vendored
|
@ -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
|
||||
])
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue