"Paolo Bonzini" writes: >> Paolo, >> >> on which platform did you bootstrap this? > > i686-pc-linux-gnu, all languages except Ada/treelang. > >> It causes build errors on >> both Linux/x86-64 and Linux/ia64 as reported by Andreas Schwab and >> myself on the main GCC list yesterday. >> >> Please fix the regressions that your patch has caused. > > As I wrote on gcc, I don't think I can be blamed on this. The bugs are not > in the code I touched, but only in the code I enabled. All I can do is > disabling -frename-registers on the affected archs, as per the attached > patch disable-ada-rename-regs.patch. The GCC development rules state that you have to fix the code. Even if it's a latent bug that is only introduced by your changes. > Also, I guess would have been found earlier if the Ada testsuite had tested > all optimization levels instead of -O2 only (and it used to be -O0, which > seems really strange to me!). Can you please try the attached > ada-testsuite.patch on a two-three days old gcc, on Linux/x86-64 and/or > Linux/ia64? I'll test the complete patch now, Andreas > Ok to commit both patches? > > Paolo > > > > Index: run_acats > =================================================================== > RCS file: /cvs/gcc/gcc/gcc/testsuite/ada/acats/run_acats,v > retrieving revision 1.5 > diff -u -r1.5 run_acats > --- run_acats 8 Jan 2004 15:19:36 -0000 1.5 > +++ run_acats 19 Apr 2004 09:34:16 -0000 > @@ -51,4 +51,8 @@ > > chmod +x host_gnatmake > > -exec $testdir/run_all.sh "$@" > +gccflags=-O0 $testdir/run_all.sh "$@" > +gccflags=-O1 $testdir/run_all.sh "$@" > +gccflags=-O2 $testdir/run_all.sh "$@" > +gccflags=-O3 $testdir/run_all.sh "$@" > +gccflags=-Os $testdir/run_all.sh "$@" > Index: run_all.sh > =================================================================== > RCS file: /cvs/gcc/gcc/gcc/testsuite/ada/acats/run_all.sh,v > retrieving revision 1.15 > diff -u -r1.15 run_all.sh > --- run_all.sh 17 Apr 2004 17:14:18 -0000 1.15 > +++ run_all.sh 19 Apr 2004 09:34:16 -0000 > @@ -9,8 +9,8 @@ > # gccflags="-O3 -fomit-frame-pointer -funroll-all-loops -finline-functions" > # gnatflags="-gnatN" > > -gccflags="-O2" > -gnatflags="-gnatws" > +: ${gccflags="-O2"} > +: ${gnatflags="-gnatws"} > > target_run () { > $* > @@ -78,6 +78,9 @@ > display `type gnatmake` > gnatls -v >> $dir/acats.log > display "" > +display gcc options are "${gccflags}" > +display gnatmake options are "${gccflags} ${gnatflags}" > +display "" > > display " === acats support ===" > display_noeol "Generating support files..." > @@ -152,6 +155,9 @@ > display " done." > display "" > display " === acats tests ===" > +display "" > +display gcc options are "${gccflags}" > +display gnatmake options are "${gccflags} ${gnatflags}" > > if [ $# -eq 0 ]; then > chapters=`cd $dir/tests; echo [a-z]*` > > Index: i386/t-linux64 > =================================================================== > RCS file: /cvs/gcc/gcc/gcc/config/i386/t-linux64,v > retrieving revision 1.5 > diff -u -r1.5 t-linux64 > --- i386/t-linux64 28 Nov 2002 14:47:02 -0000 1.5 > +++ i386/t-linux64 19 Apr 2004 09:43:41 -0000 > @@ -18,3 +18,5 @@ > # because then __FRAME_END__ might not be the last thing in .eh_frame > # section. > CRTSTUFF_T_CFLAGS = -fno-omit-frame-pointer -fno-asynchronous-unwind-tables > + > +T_ADA_CFLAGS = -fno-rename-registers > Index: ia64/t-ia64 > =================================================================== > RCS file: /cvs/gcc/gcc/gcc/config/ia64/t-ia64,v > retrieving revision 1.21 > diff -u -r1.21 t-ia64 > --- ia64/t-ia64 29 Oct 2003 16:21:36 -0000 1.21 > +++ ia64/t-ia64 19 Apr 2004 09:43:41 -0000 > @@ -49,3 +49,5 @@ > > # genattrtab generates very long string literals. > insn-attrtab.o-warn = -Wno-error > + > +T_ADA_CFLAGS = -fno-rename-registers Andreas -- Andreas Jaeger, aj@suse.de, http://www.suse.de/~aj SUSE Linux AG, Maxfeldstr. 5, 90409 Nürnberg, Germany GPG fingerprint = 93A3 365E CE47 B889 DF7F FED1 389A 563C C272 A126