I wonder how this happened?
John David Anglin
dave@hiauly1.hia.nrc.ca
Wed Oct 4 13:57:00 GMT 2000
The following build failure occurs building gcc-2.97 with the cvs source
as Sep 29 14:23:
stage1/xgcc -Bstage1/ -B/usr/local/vax-dec-ultrix4.3/bin/ -DIN_GCC -g -O3 -W -Wall -Wtraditional -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic -Wno-long-long -DHAVE_CONFIG_H -o gencodes \
gencodes.o rtl.o bitmap.o ggc-none.o gensupport.o print-rtl.o errors.o ` case "obstack.o" in ?*) echo obstack.o ;; esac ` ` case "" in ?*) echo ;; esac ` ` case "-lmalloc" in ?*) echo -lmalloc ;; esac ` ` case "" in ?*) echo ;; esac ` ` case "" in ?*) echo ;; esac `
./gencodes ../../gcc/config/vax/vax.md > tmp-codes.h
../../gcc/config/vax/vax.md:36: expected character `(', found `s'
../../gcc/config/vax/vax.md:36: following context is `et (cc0)'
The problem is that the call to ungetc at line 1023 of rtl.c is partially gone.
Here is the C code from rtl.c:
while ((c = read_skip_spaces (infile)) && c != ']')
{
ungetc (c, infile);
list_counter++;
Here is the corresponding snipit of assembler code generated by the stage1
compiler for rtl.c:
.stabd 68,0,1021
L294:
pushl r8
calls $1,_read_skip_spaces
movl r0,r6
jeql L295
cmpl r6,$93
jeql L295
.stabd 68,0,1023
pushl r8
pushl r6
.stabd 68,0,1024
incl r9
The two argument pushes are present for the ungetc call. But what happened
to the call itself? The other calls to ungetc in the file are ok.
Dave
--
J. David Anglin dave.anglin@nrc.ca
National Research Council of Canada (613) 990-0752 (FAX: 952-6605)
More information about the Gcc-bugs
mailing list