Bug 14690 - [3.4 regression] Miscompiled POOMA tests
Summary: [3.4 regression] Miscompiled POOMA tests
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: rtl-optimization (show other bugs)
Version: 3.4.0
: P3 critical
Target Milestone: 3.4.1
Assignee: Not yet assigned to anyone
URL:
Keywords: wrong-code
Depends on:
Blocks:
 
Reported: 2004-03-23 12:43 UTC by Richard Biener
Modified: 2005-07-23 22:49 UTC (History)
1 user (show)

See Also:
Host: i686-pc-linux-gnu
Target: i686-pc-linux-gnu
Build: i686-pc-linux-gnu
Known to work:
Known to fail:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Richard Biener 2004-03-23 12:43:15 UTC
g++-3.4 (GCC) 3.4.0 20040319 (prerelease) miscompiles the
src/Layout/tests/ugl_test2.cpp
src/Functions/tests/rngArray.cpp
test with -g -fno-exceptions in an unoptimized build.

This is a regression to g++-3.3 (GCC) 3.3.4 20040301 (prerelease)
which does fine with this testcases (and flags).
It is also a regression from g++ (GCC) 3.4.0 20040302 (prerelease)
which does fine with this testcases too.

POOMA is current CVS, configured with --serial --debug.


In an optimized build using -g -O2 -fno-exceptions, the
src/Functions/tests/rngArray.cpp
testcase is miscompiled which is a regression to
This is a regression to g++-3.3 (GCC) 3.3.4 20040301 (prerelease)
which does fine with this testcases (and flags).
It does not work with g++ (GCC) 3.4.0 20040302 (prerelease).
It does work with -O instead of -O2 though.

Note that g++ (GCC) 3.4.0 20040302 is the newest g++ I have available before the
failing release.

I'm not so worried about the rngArray failure, but about the ugl_test2 failure
which indicates a C++ correctness problem probably related to Marks massive C++
fixes. (pls. assign this PR to him)

Please ping me, if you like me to provide a preprocessed testcase as this will
be huge and probably not suitable for debugging this kind of problems.

Richard.
Comment 1 Wolfgang Bangerth 2004-03-23 13:57:02 UTC
Some kind of testcase will be necessary, but it would be a great help 
if you could already try to sizzle it down a little bit. POOMA testcases 
are not really our favorites due to their size and complexity, and as 
you are well aware of, have frequently been sitting around a while until 
someone felt an urge to reduce them :-( 
 
W. 
Comment 2 Richard Biener 2004-03-23 14:09:38 UTC
Subject: Re:  [3.4 regression] Miscompiled POOMA
 tests

On Tue, 23 Mar 2004, bangerth at dealii dot org wrote:

>
> ------- Additional Comments From bangerth at dealii dot org  2004-03-23 13:57 -------
> Some kind of testcase will be necessary, but it would be a great help
> if you could already try to sizzle it down a little bit. POOMA testcases
> are not really our favorites due to their size and complexity, and as
> you are well aware of, have frequently been sitting around a while until
> someone felt an urge to reduce them :-(
>
> W.

Ok, I thought I just build and verify g++-3.4 (GCC) 3.4.0 20040323
(prerelease), and the failure still occours.  It doesn't occour
on ia64-linux though (same compiler).

I'll try to spend some time reducing the failure myself.

Richard.

--
Richard Guenther <richard dot guenther at uni-tuebingen dot de>
WWW: http://www.tat.physik.uni-tuebingen.de/~rguenth/
Comment 3 Richard Biener 2004-03-23 14:44:21 UTC
Subject: Re:  [3.4 regression] Miscompiled POOMA
 tests

On Tue, 23 Mar 2004, bangerth at dealii dot org wrote:

>
> ------- Additional Comments From bangerth at dealii dot org  2004-03-23 13:57 -------
> Some kind of testcase will be necessary, but it would be a great help
> if you could already try to sizzle it down a little bit. POOMA testcases
> are not really our favorites due to their size and complexity, and as
> you are well aware of, have frequently been sitting around a while until
> someone felt an urge to reduce them :-(

The ugl_test2 failure looks artificial, it's a likely broken testcase that
happened to work with earlier compilers.  It's a complicated inheritance
hierarchy and asserting on some default constructed data - maybe the
right/wrong method is selected.  I'm going to try to reduce this
somewhat.

Richard.

--
Richard Guenther <richard dot guenther at uni-tuebingen dot de>
WWW: http://www.tat.physik.uni-tuebingen.de/~rguenth/
Comment 4 Richard Biener 2004-03-31 20:57:24 UTC
The rngArray failure is gone with g++-3.4 (GCC) 3.4.0 20040331 (prerelease). 
The "fixed" ugl_test2 testcase works, too (but it is still unresolved wether the
original testcase regression is a regression or just undefined behavior - I was
unable to reduce the testcase and still get repeatable success/failure with
different compilers).

So I think this is sufficiently fixed now.

Richard.