From: rcpt@rwa.urc.tue.nl (Piet Tutelaers)
Subject: gcc2.1 -O broken on Ultrix4.1
Reply-To: rcpt@urc.tue.nl
Organization: GNUs Not Usenet
Distribution: gnu
Date: Tue, 14 Apr 1992 08:29:35 GMT

System:  DECstation 3100
OS:      Ultrix4.1
gcc:     version 2.1
problem: -O broken

When I compiled TeX3.141 (available on ftp.cs.umb.edu in the directory
private (web2c-5.851a.tar.Z + web-5.851a.tar.Z)) the resulting tangle4.3
does produce invalid results when this tangle is applied to tex.web and
ctex.ch. When I remove the optimization for tangle the program works as
expected. (The same is true for inimf and virmf.)

The problem with tangle can be reproduced with:
  - ftp and untar both packages
  - cd TeX-src-5.851a
  - cp lib/site.h-dist lib/site.h
  - ./configure
  - make triptrap

--Piet

internet: rcpt@urc.tue.nl       | Piet Tutelaers
bitnet:   rcpt@heitue5.BITNET   | Computer Center       Room  RC 1.90
phone:    +31 (0)40 474541      | Eindhoven University of  Technology
fax:      +31 (0)40 434438      | P.O. Box 513, 5600 MB Eindhoven, NL

Here is the makelog:
----------------- `make triptrap >& makelog &' ------------
cd lib; make SHELL='/bin/sh' CC='gcc -g' cflags='-I.././lib -O ' CCLD='gcc -g' LDFLAGS='' LIBS='' RANLIB='ranlib' LN='ln -s' srcdir=.  wlibs='-lXt -lX11' xincludedir='' xlibdir='' all
gcc -g -I.././lib -O  -c alloca.c
gcc -g -I.././lib -O  -c concat.c
gcc -g -I.././lib -O  -c dir-p.c
gcc -g -I.././lib -O  -c eofeoln.c
gcc -g -I.././lib -O  -c file-p.c
gcc -g -I.././lib -O  -c fprintreal.c
gcc -g -I.././lib -O  -c getopt.c
gcc -g -I.././lib -O  -c getopt1.c
gcc -g -I.././lib -O  -c inputint.c
gcc -g -I.././lib -O  -c main.c
gcc -g -I.././lib -O  -c ourpaths.c
gcc -g -I.././lib -O  -c pathsrch.c
gcc -g -I.././lib -O  -c strpascal.c
gcc -g -I.././lib -O  -c xfopen-pas.c
gcc -g -I.././lib -O  -c xmalloc.c
gcc -g -I.././lib -O  -c xopendir.c
gcc -g -I.././lib -O  -c xrealloc.c
gcc -g -I.././lib -O  -c xstat.c
gcc -g -I.././lib -O  -c xstrdup.c
gcc -g -I.././lib -O  -c zround.c
rm -f lib.a
ar qc lib.a alloca.o concat.o dir-p.o eofeoln.o file-p.o fprintreal.o getopt.o getopt1.o inputint.o main.o ourpaths.o pathsrch.o strpascal.o xfopen-pas.o xmalloc.o xopendir.o xrealloc.o xstat.o xstrdup.o zround.o
ranlib lib.a
touch stamp-lib
cd web2c; make SHELL='/bin/sh' CC='gcc -g' cflags='-I.././lib -O ' CCLD='gcc -g' LDFLAGS='' LIBS='' RANLIB='ranlib' LN='ln -s' srcdir=.  wlibs='-lXt -lX11' xincludedir='' xlibdir='' YACC='bison -y' LEX='lex' LEXLIB='-ll' all
Expect 3 shift/reduce conflicts.
bison -y -d -v web2c.yacc
conflicts:  3 shift/reduce
rm -f web2cy.c web2cy.h
mv y.tab.c web2cy.c
mv y.tab.h web2cy.h
gcc -g -I.././lib -O  -c web2cy.c
lex web2c.lex
rm -f web2cl.c
mv lex.yy.c web2cl.c
gcc -g -I.././lib -O  -c web2cl.c
gcc -g -I.././lib -O  -c web2c.c
gcc -g -o web2c  web2c.o web2cy.o web2cl.o ../lib/lib.a -ll 
gcc -g -o fixwrites  -I.././lib -O  fixwrites.c 
gcc -g -o splitup  -I.././lib -O  splitup.c 
gcc -g -o regfix  -I.././lib -O  regfix.c 
touch stamp-web2c
cd web; make SHELL='/bin/sh' CC='gcc -g' cflags='-I.././lib -O ' CCLD='gcc -g' LDFLAGS='' LIBS='' RANLIB='ranlib' LN='ln -s' srcdir=.  wlibs='-lXt -lX11' xincludedir='' xlibdir='' tangle
/bin/sh -c "until (PATH=.:${PATH} /bin/sh -c 'tangle tangle.web tangle.ch' ) do gcc -g -o tangle  -I.././lib -O  tangleboot.c ../lib/lib.a ; done"
This is TANGLE, C Version 4
*1*11*19*29*37*50*65*70*77*94*112*123*143*156*163*171*179*182*188*196
Writing the output file.....500...
Done.
(No errors were found.)
/bin/sh ../lib/convert tangle.p tangle.c
gcc -g -I.././lib -O  -c tangle.c
gcc -g -o tangle  tangle.o ../lib/lib.a 
touch stamp-tangle
for name in tex texware mf mfware; do (cd ${name}; make SHELL='/bin/sh' CC='gcc -g' cflags='-I.././lib -O ' CCLD='gcc -g' LDFLAGS='' LIBS='' RANLIB='ranlib' LN='ln -s' srcdir=.  wlibs='-lXt -lX11' xincludedir='' xlibdir='' triptrap); done  
../web/tangle tex.web ctex.ch
This is TANGLE, C Version 4.3
*1*17*25*38*54*72*99*110*115*133*162*173*199*203*207*211*220*256*268*289*297*300*321*332*366*402*464*487*511*539*583*592*644*680*699*719*768*813*862*891*900*919*942*967*980*1029*1055*1136*1208*1299*1330*1338*1340*1379*1381
Writing the output file
! Sorry, name capacity exceeded. (l.37)
then begin(poolfile)then begin(poolfile)then... make[1]: *** [tex.p] Error 1

. . . . rest omitted . . . . . . .

Newsgroups: gnu.gcc.bug