This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Infinite loop while generating gcc.1


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]