diff options
| author | Paul Eggert <eggert@cs.ucla.edu> | 2005-10-19 22:35:51 +0000 |
|---|---|---|
| committer | Paul Eggert <eggert@cs.ucla.edu> | 2005-10-19 22:35:51 +0000 |
| commit | f50d0bd4c7d92fbabcd9169920a23889524790e7 (patch) | |
| tree | 7cff2aa09378a5cbb814599540e5e7044f59d63f | |
| parent | e56f3ffe2491522b70bc480a31a9130a79fa902b (diff) | |
| download | autoconf-f50d0bd4c7d92fbabcd9169920a23889524790e7.tar.gz | |
* doc/autoconf.texi (Generating Sources): AC_LANG_PROGRAMS ->
AC_LANG_PROGRAM, fixing a typo. Don't give details about
the inner workings of AC_LANG_FUNC_LINK_TRY.
* lib/autoconf/c.m4 (AC_LANG_CALL(C)): Reformat to match
AC_LANG_FUNC_LINK_TRY. This involves returning the value returned
by the function rather than ignoring it.
(AC_LANG_FUNC_LINK_TRY(C)): Call the function rather than simply
comparing its address. Intel's interprocedural optimization was
outsmarting the old heuristic. Problem reported by
Mikulas Patocka.
| -rw-r--r-- | ChangeLog | 31 | ||||
| -rw-r--r-- | doc/autoconf.texi | 11 | ||||
| -rw-r--r-- | lib/autoconf/c.m4 | 22 |
3 files changed, 35 insertions, 29 deletions
@@ -1,3 +1,16 @@ +2005-10-19 Paul Eggert <eggert@cs.ucla.edu> + + * doc/autoconf.texi (Generating Sources): AC_LANG_PROGRAMS -> + AC_LANG_PROGRAM, fixing a typo. Don't give details about + the inner workings of AC_LANG_FUNC_LINK_TRY. + * lib/autoconf/c.m4 (AC_LANG_CALL(C)): Reformat to match + AC_LANG_FUNC_LINK_TRY. This involves returning the value returned + by the function rather than ignoring it. + (AC_LANG_FUNC_LINK_TRY(C)): Call the function rather than simply + comparing its address. Intel's interprocedural optimization was + outsmarting the old heuristic. Problem reported by + Mikulas Patocka. + 2005-10-19 Stepan Kasal <kasal@ucw.cz> * lib/autoconf/general.m4 (AC_SUBST): Remove an obsolete comment. @@ -15,7 +28,7 @@ 2005-10-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Stepan Kasal <kasal@ucw.cz> - * lib/autoconf/status.m4 (_AC_OUTPUT_SUBDIRS): Balance parentheses. + * lib/autoconf/status.m4 (_AC_OUTPUT_SUBDIRS): Balance parentheses. * lib/autotest/general.m4 (AT_INIT): If the test dir already exists, make its content writable before removing it. Remove an errorneous comment from the end, where the logs of the failed tests are copied @@ -110,12 +123,12 @@ that AC_CONFIG_COMMANDS_PRE and AC_CONFIG_COMMANDS_POST are not ``Configuration Actions''; fix their index entries. - * lib/autotest/general.m4 (AT_INIT): Process multiple keywords + * lib/autotest/general.m4 (AT_INIT): Process multiple keywords options correctly. Process N-M as M-N if M is smaller than N. - Process ranges correctly so that N-N will run only N. + Process ranges correctly so that N-N will run only N. Sort and uniquify the tests that will be run. If there is more than one test, reinsert the banners for the tests. - * tests/autotest.at (Keywords): Unmark XFAIL. + * tests/autotest.at (Keywords): Unmark XFAIL. 2005-08-23 Stepan Kasal <kasal@ucw.cz> @@ -579,10 +592,10 @@ Reword to avoid some formatting glitches. * doc/installt.exi: Reword to avoid some formatting glitches. - * doc/autoconf.texi (Limitations of Builtins) <case>: Mention - Tru64 ksh pattern matching bug. Reported against Libtool by - Albert Chin <libtool@mlists.thewrittenword.com> and - Nicolas Joly <njoly@pasteur.fr>. + * doc/autoconf.texi (Limitations of Builtins) <case>: Mention + Tru64 ksh pattern matching bug. Reported against Libtool by + Albert Chin <libtool@mlists.thewrittenword.com> and + Nicolas Joly <njoly@pasteur.fr>. 2005-06-06 Stepan Kasal <kasal@ucw.cz> @@ -1596,7 +1609,7 @@ * lib/autotest/general.m4 (AT_INIT): Replace a `tr' with a `sed'. Join PATH members so as to not prepend an empty element. Move a comment. * Makefile.am (SUBDIRS): Build in `tests' last. - * tests/Makefile.am (installcheck-local): Add check-local dependencies. + * tests/Makefile.am (installcheck-local): Add check-local dependencies. 2004-12-08 Paul Eggert <eggert@cs.ucla.edu> diff --git a/doc/autoconf.texi b/doc/autoconf.texi index 09c1eff..11a5a39 100644 --- a/doc/autoconf.texi +++ b/doc/autoconf.texi @@ -2997,7 +2997,7 @@ breed: they are executed directly by @file{configure}, so you cannot use Execute the @var{cmds} right before creating @file{config.status}. This macro presents the last opportunity to call @code{AC_SUBST}, -@code{AC_DEFINE}, or @code{AC_CONFIG_FOOS} macros. +@code{AC_DEFINE}, or @code{AC_CONFIG_FOOS} macros. @end defmac @defmac AC_CONFIG_COMMANDS_POST (@var{cmds}) @@ -6921,7 +6921,7 @@ fputs (hw, stdout); @acindex{LANG_CALL} Expands into a source file which consists of the @var{prologue}, and then a call to the @var{function} as body of the main function (e.g., -@code{main} in C). Since it uses @code{AC_LANG_PROGRAMS}, the feature +@code{main} in C). Since it uses @code{AC_LANG_PROGRAM}, the feature of the latter are available. This function will probably be replaced in the future by a version @@ -6932,10 +6932,9 @@ not encouraged, as it violates strongly the typing system. @defmac AC_LANG_FUNC_LINK_TRY (@var{function}) @acindex{LANG_FUNC_LINK_TRY} -Expands into a source file which consists of a pseudo use of the -@var{function} as body of the main function (e.g., @code{main} in C): a -simple (function pointer) assignment. Since it uses -@code{AC_LANG_PROGRAMS}, the feature of the latter are available. +Expands into a source file which uses the @var{function} in the body of +the main function (e.g., @code{main} in C). Since it uses +@code{AC_LANG_PROGRAM}, the feature of the latter are available. As @code{AC_LANG_CALL}, this macro is documented only for completeness. It is considered to be severely broken, and in the future will be diff --git a/lib/autoconf/c.m4 b/lib/autoconf/c.m4 index 3997a2e..b440a6c 100644 --- a/lib/autoconf/c.m4 +++ b/lib/autoconf/c.m4 @@ -162,13 +162,13 @@ $2 m4_define([AC_LANG_CALL(C)], [AC_LANG_PROGRAM([$1 m4_if([$2], [main], , -[/* Override any gcc2 internal prototype to avoid an error. */ +[/* 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 ();])], [$2 ();])]) +char $2 ();])], [return $2 ();])]) # AC_LANG_FUNC_LINK_TRY(C)(FUNCTION) @@ -204,26 +204,20 @@ m4_define([AC_LANG_FUNC_LINK_TRY(C)], #undef $1 -/* Override any gcc2 internal prototype to avoid an error. */ +/* 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 $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;])]) +], [return $1 ();])]) # AC_LANG_BOOL_COMPILE_TRY(C)(PROLOGUE, EXPRESSION) |
