This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: gcc-2.95.3 April 12 incomplete C++ thunks patch breaks Linux/ia32
On Fri, May 19, 2000 at 12:00:07PM +0200, Franz Sirl wrote:
> At 23:04 18.05.00, Martin v. Loewis wrote:
> > > Even with this patch applied there's still a regression on
> > > powerpc-linux-gnu if you run the C++ testsuite with -O2. Does it really
> > > work for you on x86?
> >
> >I'm quite certain that the behaviour of these patches should not
> >change under optimization; so any problems you see are likely
> >unrelated.
>
> I certainly does change behaviour for me and patchwise this relates to
> current CVS+HJ's patch, if I use the sources before this went into CVS, all
> is fine with -O2. So, before going on a wild bug hunt in an compiler area
> I'm not really familiar with, I would like to know if this is a platform
> independent bug. It would be very kind if someone could run the C++
> testsuite with -O2 and assure me that everything is OK on x86.
>
There is the difference between without -O2 and with -O2 for the
patched 2.95 branch. As you can see, there are more C failures also.
I didn't check gcc 2.95.2. I agree with Martin. I don't think his
patch introduces any new optimization bugs. But it may trigger some
existing bugs.
H.J.
----
--- /tmp/2 Fri May 19 09:24:32 2000
+++ /tmp/1 Fri May 19 09:24:26 2000
@@ -29,12 +29,30 @@ FAIL: g++.gb/sig28.C (test for excess er
FAIL: g++.gb/sig29.C (test for excess errors)
FAIL: g++.gb/sig30.C (test for excess errors)
FAIL: g++.gb/sig31.C (test for excess errors)
+FAIL: g++.mike/dyncast5.C Execution test
+FAIL: g++.mike/mi1.C Execution test
+FAIL: g++.mike/offset1.C Execution test
+FAIL: g++.mike/p16146.C Execution test
+FAIL: g++.mike/p3139.C Execution test
+FAIL: g++.mike/p3708.C Execution test
+FAIL: g++.mike/p3708a.C Execution test
+FAIL: g++.mike/p3708b.C Execution test
+FAIL: g++.mike/p4736c.C Execution test
+FAIL: g++.mike/virt2.C Execution test
+FAIL: g++.mike/virt5.C Execution test
+FAIL: g++.other/local1.C (test for excess errors)
+FAIL: g++.pt/instantiate4.C (test for excess errors)
FAIL: g++.robertl/eb131.C candidate (test for errors, line 13)
+FAIL: g++.robertl/eb46.C Execution test
+FAIL: gcc.c-torture/execute/loop-2b.c execution, -O0
+FAIL: gcc.c-torture/execute/loop-2b.c execution, -O1
FAIL: gcc.c-torture/execute/loop-2b.c execution, -O2
FAIL: gcc.c-torture/execute/loop-2b.c execution, -O3 -fomit-frame-pointer
FAIL: gcc.c-torture/execute/loop-2b.c execution, -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions
FAIL: gcc.c-torture/execute/loop-2b.c execution, -O3 -fomit-frame-pointer -funroll-loops
FAIL: gcc.c-torture/execute/loop-2b.c execution, -O3 -g
+FAIL: gcc.c-torture/execute/loop-2b.c execution, -Os
+FAIL: gcc.c-torture/noncompile/971104-1.c
FAIL: gcc.dg/990119-1.c execution test
FAIL: gcc.dg/cast-qual-1.c discarding `const' warning (test for bogus messages, line 11)
FAIL: gcc.dg/cast-qual-1.c discarding `const' warning (test for warnings, line 17)