This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: FIXINCL goes into an infinite loop on alpha-osf4
- To: "Kaveh R. Ghazi" <ghazi at caip dot rutgers dot edu>
- Subject: Re: FIXINCL goes into an infinite loop on alpha-osf4
- From: Zack Weinberg <zack at wolery dot cumb dot org>
- Date: Tue, 25 Jan 2000 17:33:36 -0800
- Cc: autogen at linuxbox dot com, gcc-patches at gcc dot gnu dot org, gcc at gcc dot gnu dot org
- References: <200001251959.OAA13623@caip.rutgers.edu>
On Tue, Jan 25, 2000 at 02:59:16PM -0500, Kaveh R. Ghazi wrote:
> --- orig/egcs-CVS20000124/gcc/fixinc/Makefile.in Fri Jan 21 10:43:14 2000
> +++ egcs-CVS20000124/gcc/fixinc/Makefile.in Tue Jan 25 12:03:05 2000
> @@ -145,7 +145,7 @@ machname.h: ../specs
> sed -n 's/^.*-D\([a-zA-Z_][a-zA-Z0-9_]*\).*$$/\1/p' | sort -u | \
> grep -v '^_[_A-Z]' > mn.T
> @echo "Forbidden identifiers: `tr '\012' ' ' <mn.T`"
> - @sed 's/^/\\\\</; s/$$/\\\\>/' <mn.T | tr '\012' '|' | \
> - sed 's/^/#define MN_NAME_PAT "/; s/|$$/"/' > machname.h
> - @echo >> machname.h
> - @-rm -f mn.T
> + @sed 's/^/\\\\</; s/$$/\\\\>/' <mn.T | tr '\012' '|' > mn.T2
> + @echo '' >> mn.T2
> + @sed 's/^/#define MN_NAME_PAT "/; s/|$$/"/' < mn.T2 > machname.h
> + @-rm -f mn.T mn.T2
This part looks fine to me.
> --- orig/egcs-CVS20000124/gcc/fixinc/fixlib.c Fri Jan 21 10:43:15 2000
> +++ egcs-CVS20000124/gcc/fixinc/fixlib.c Tue Jan 25 13:34:33 2000
> @@ -166,7 +166,7 @@ compile_re( pat, re, match, e1, e2 )
> if (err)
> {
> char rerrbuf[1024];
> - regerror (err, re, rerrbuf, 1024);
> + __regerror (err, re, rerrbuf, 1024);
> fprintf (stderr, z_bad_comp, e1, e2, pat, rerrbuf);
> exit (EXIT_FAILURE);
> }
Better you should do this:
--- gnu-regex.c 2000/01/20 18:25:12 1.3
+++ gnu-regex.c 2000/01/26 01:31:08
@@ -5745,7 +5745,7 @@
from either regcomp or regexec. We don't use PREG here. */
size_t
-__regerror (errcode, preg, errbuf, errbuf_size)
+regerror (errcode, preg, errbuf, errbuf_size)
int errcode;
const regex_t *preg;
char *errbuf;
This is the way it is in libc's copy. (Note, the patch was pasted from
another xterm and may have tab damage.)
With those changes fixincludes runs to completion on sunos 4.1.4, but
there appears to be something wrong with the machine_name fix - it doesn't
touch "#ifdef sparc", but does touch "#if defined(sparc)". I'm looking
into it now.
zw