This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/16129] [3.4.1 regression] g++.old-deja/g++.eh/catch[35679]*.C
- From: "zack at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 24 Jun 2004 21:40:28 -0000
- Subject: [Bug c++/16129] [3.4.1 regression] g++.old-deja/g++.eh/catch[35679]*.C
- References: <20040622070428.16129.zack@gcc.gnu.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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