From 85f1f7cf9b9115123d49bc2b8e1e89671a916cb1 Mon Sep 17 00:00:00 2001 From: DJ Delorie Date: Tue, 26 Oct 2010 19:18:21 +0000 Subject: [PATCH] merge from gcc --- libiberty/ChangeLog | 5 +++++ libiberty/aclocal.m4 | 49 -------------------------------------------- libiberty/configure | 30 +++++++++++++-------------- 3 files changed, 20 insertions(+), 64 deletions(-) diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index 8c9a79f87c3..8585db51634 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,3 +1,8 @@ +2010-10-26 Ralf Wildenhues + + * aclocal.m4 (AC_LANG_FUNC_LINK_TRY(C)): Delete. + * configure: Regenerate. + 2010-10-07 Andi Kleen * configure: Regenerate. diff --git a/libiberty/aclocal.m4 b/libiberty/aclocal.m4 index 5d050cb3bd0..f2091c9927e 100644 --- a/libiberty/aclocal.m4 +++ b/libiberty/aclocal.m4 @@ -172,52 +172,3 @@ AC_DEFINE_UNQUOTED(STACK_DIRECTION, $ac_cv_c_stack_direction, STACK_DIRECTION < 0 => grows toward lower addresses STACK_DIRECTION = 0 => direction of growth unknown]) ]) - -# AC_LANG_FUNC_LINK_TRY(C)(FUNCTION) -# ---------------------------------- -# Don't include because on OSF/1 3.0 it includes -# which includes which contains a -# prototype for select. Similarly for bzero. -# -# This test used to merely assign f=$1 in main(), but that was -# optimized away by HP unbundled cc A.05.36 for ia64 under +O3, -# presumably on the basis that there's no need to do that store if the -# program is about to exit. Conversely, the AIX linker optimizes an -# unused external declaration that initializes f=$1. So this test -# program has both an external initialization of f, and a use of f in -# main that affects the exit status. -# -m4_define([AC_LANG_FUNC_LINK_TRY(C)], -[AC_LANG_PROGRAM( -[/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $1 (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. Under hpux, - including includes and causes problems - checking for functions defined therein. */ -#if defined (__STDC__) && !defined (_HPUX_SOURCE) -# include -#else -# include -#endif -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -{ -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $1 (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$1) || defined (__stub___$1) -choke me -#else -char (*f) () = $1; -#endif -#ifdef __cplusplus -} -#endif -], [return f != $1;])]) - diff --git a/libiberty/configure b/libiberty/configure index 7579000f96e..142c81ce971 100755 --- a/libiberty/configure +++ b/libiberty/configure @@ -1844,41 +1844,41 @@ else fi cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +/* Define $2 to an innocuous variant, in case declares $2. + For example, HP-UX 11i declares gettimeofday. */ +#define $2 innocuous_$2 + /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $2 (); below. Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. Under hpux, - including includes and causes problems - checking for functions defined therein. */ -#if defined (__STDC__) && !defined (_HPUX_SOURCE) + exists even on freestanding compilers. */ + +#ifdef __STDC__ # include #else # include #endif -/* Override any gcc2 internal prototype to avoid an error. */ + +#undef $2 + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" -{ #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char $2 (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ -#if defined (__stub_$2) || defined (__stub___$2) +#if defined __stub_$2 || defined __stub___$2 choke me -#else -char (*f) () = $2; -#endif -#ifdef __cplusplus -} #endif int main () { -return f != $2; +return $2 (); ; return 0; } -- 2.30.2