This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: Infinite loop while generating gcc.1
- To: Toon Moene <toon at moene dot indiv dot nluug dot nl>
- Subject: Re: Infinite loop while generating gcc.1
- From: "Joseph S. Myers" <jsm28 at cam dot ac dot uk>
- Date: Sun, 14 Jan 2001 14:47:04 +0000 (GMT)
- cc: <gcc-bugs at gcc dot gnu dot org>, <gcc-patches at gcc dot gnu dot org>
On Sun, 14 Jan 2001, Toon Moene wrote:
> Your 2001-01-13 update doesn't seem to work - I had to kill perl after
> it spent more than 5 minutes of CPU time on my PII 300 Mhz trying to
> generate gcc.1 using texi2pod.pl
>
> The system is: Debian 2.2 (potato) on i686-pc-linux-gnu. Perl is:
>
> $ perl -v
>
> This is perl, version 5.005_03 built for i386-linux
I can confirm that this version of perl does loop - apparently on the line
# Handle @r inside bold.
1 while s/B<((?:[^<>]*|I<[^<>*]*>)*)R<([^>]*)>/B<$1>${2}B</g;
Unless someone has a better suggestion, I'm tempted simply to require perl
5.6 (in both the script and configure). (Since the configure check went
in, probably hardly anyone should have been having the manpages get
regenerated, even if they have the timestamps wrong, since it requires a
version of podlators from CPAN more recent than that in perl 5.6.0 - but
which should be included in 5.6.1 when that comes out.)
Generating gcc.pod from invoke.texi should take about 4 seconds on a
PII/400. Running pod2man on the result should take about 8 seconds.
Patch to require perl 5.6.0 below. The modified texi2pod.pl works; it
passes configure on i686-pc-linux-gnu. OK to commit?
2001-01-14 Joseph S. Myers <jsm28@cam.ac.uk>
* texi2pod.pl: Require at least perl 5.6.0.
2001-01-14 Joseph S. Myers <jsm28@cam.ac.uk>
* configure.in: Require at least perl 5.6.0 to regenerate
manpages.
* configure: Regenerate.
--- contrib/texi2pod.pl.orig Sat Jan 13 21:06:31 2001
+++ contrib/texi2pod.pl Sun Jan 14 14:35:51 2001
@@ -4,6 +4,8 @@
# markup to Perl POD format. It's intended to be used to extract
# something suitable for a manpage from a Texinfo document.
+use v5.6.0;
+
$output = 0;
$skipping = 0;
%sects = ();
--- gcc/configure.in.orig Sat Jan 13 21:05:44 2001
+++ gcc/configure.in Sun Jan 14 14:42:42 2001
@@ -471,9 +471,9 @@
BUILD_INFO=info AC_SUBST(BUILD_INFO)
fi
-# Is pod2man recent enough to regenerate manpages?
-AC_MSG_CHECKING([for recent Pod::Man])
-if perl -e 'use 1.10 Pod::Man' >/dev/null 2>&1; then
+# Are perl and pod2man recent enough to regenerate manpages?
+AC_MSG_CHECKING([for recent perl and Pod::Man])
+if perl -e 'use v5.6.0; use 1.10 Pod::Man' >/dev/null 2>&1; then
AC_MSG_RESULT(yes)
GENERATED_MANPAGES=generated-manpages AC_SUBST(GENERATED_MANPAGES)
else
--
Joseph S. Myers
jsm28@cam.ac.uk