-
-
Notifications
You must be signed in to change notification settings - Fork 30.9k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix for bug #811160 - autoconf vs. hp/ux system header files.
also applied to release23-maint. Note that aclocal.m4 can go away when autoconf 2.58 is out.
- Loading branch information
1 parent
e1b38c4
commit c050119
Showing
2 changed files
with
122 additions
and
33 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
# Code swiped wholesale from the GCC project, see | ||
# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12100 | ||
|
||
# This file can go away once autoconf 2.58 is out and being used - | ||
# it's reported that this is fixed in the autoconf cvs already. | ||
|
||
# AC_LANG_FUNC_LINK_TRY(C)(FUNCTION) | ||
# ---------------------------------- | ||
# Don't include <ctype.h> because on OSF/1 3.0 it includes | ||
# <sys/types.h> which includes <sys/select.h> which contains a | ||
# prototype for select. Similarly for bzero. | ||
# | ||
# A similar problem afflicts HP/UX, but it also hits <sys/time.h> | ||
# | ||
# 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 <limits.h> to <assert.h> if __STDC__ is defined, since | ||
<limits.h> exists even on freestanding compilers. Under hpux, | ||
including <limits.h> includes <sys/time.h> and causes problems | ||
checking for functions defined therein. */ | ||
#if defined (__STDC__) && !defined (_HPUX_SOURCE) | ||
# include <limits.h> | ||
#else | ||
# include <assert.h> | ||
#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;])]) | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters