[Bug c++/16129] [3.4.1 regression] g++.old-deja/g++.eh/catch[35679]*.C
zack at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Thu Jun 24 22:11:00 GMT 2004
------- Additional Comments From zack at gcc dot gnu dot org 2004-06-24 21:40 -------
Created an attachment (id=6623)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=6623&action=view)
preprocessed source for file being miscompiled
Compile this file as follows:
cc1plus -fpreprocessed tinfo.ii -quiet -dumpbase tinfo.cc -da -auxbase-strip
tinfo.o -g -g -O2 -O2 -O2 -Wall -W -Wwrite-strings -Wcast-qual -version
-fno-implicit-templates -fdiagnostics-show-location=once -ffunction-sections
-fdata-sections -fPIC -o tinfo.s
(a cross compiler to ia64-hp-hpux11.22 will do). Then compare the .31.bbro and
.35.mach dumps. You should see that in the former, insn 456 precedes insn 493,
but in the latter, insn 456 follows insn 493. Since insn 493 reads from the
location written by insn 456, this is an invalid transformation.
The problem is believed to be a bad interaction between aliasing and inlining.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16129
More information about the Gcc-bugs
mailing list