summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2005-10-19 22:35:51 +0000
committerPaul Eggert <eggert@cs.ucla.edu>2005-10-19 22:35:51 +0000
commitf50d0bd4c7d92fbabcd9169920a23889524790e7 (patch)
tree7cff2aa09378a5cbb814599540e5e7044f59d63f
parente56f3ffe2491522b70bc480a31a9130a79fa902b (diff)
downloadautoconf-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--ChangeLog31
-rw-r--r--doc/autoconf.texi11
-rw-r--r--lib/autoconf/c.m422
3 files changed, 35 insertions, 29 deletions
diff --git a/ChangeLog b/ChangeLog
index bfbc579..c3c6343 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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)