This is the mail archive of the gcc@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: FIXINCL goes into an infinite loop on alpha-osf4


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

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