http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48477

           Summary: [4.7 Regression]: gfortran.dg/coarray_13.f90
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Keywords: wrong-code
          Severity: normal
          Priority: P3
         Component: regression
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: h...@gcc.gnu.org
                CC: bur...@gcc.gnu.org
              Host: x86_64-unknown-linux-gnu
            Target: cris-axis-elf


Created attachment 23895
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23895
Reduced gfortran.dg/coarray_13.f90 exposing the failure

This test previously passed, now it fails.
Revision r171949 caused this regression.  Since then it fails as follows:

Running /tmp/hpautotest-gcc1/gcc/gcc/testsuite/gfortran.dg/dg.exp ...
...
FAIL: gfortran.dg/coarray_13.f90  -O2  execution test
FAIL: gfortran.dg/coarray_13.f90  -O3 -fomit-frame-pointer  execution test
FAIL: gfortran.dg/coarray_13.f90  -O3 -fomit-frame-pointer -funroll-loops 
execution test
FAIL: gfortran.dg/coarray_13.f90  -O3 -fomit-frame-pointer -funroll-all-loops
-finline-functions  execution test
FAIL: gfortran.dg/coarray_13.f90  -O3 -g  execution test

The messages in gfortran.log are similar:

PASS: gfortran.dg/coarray_13.f90  -O2  (test for excess errors)
core: 4 byte write to unmapped address 0x10190 at 0x146

program stopped with signal 11.


Author/committer of suspect revision CC:ed.

Looking into this, I see badness in the form of a modified test-case.  Multiple
tests for new (or greatly improved) functionality were apparently added to an
existing test-case. While that worked for the tested platform, it didn't work
for cris-elf and I'd guess also some other unfortunate platform. So, because an
existing test was modified rather than new tests added, it comes out as a
regression. That's why existing test-cases should never be upgraded like that;
they should be fixed only if they were actually wrong or just enough to
maintain the intention of the test when gcc gets too smart.

I'm adding a reduced test-case which fails at r172016; all but a single test
and call to abort. Hopefully this is enough to spark some ideas as to the
cause. I can assist with some target-specific testing; execution tracing etc.
but note that the general instructions for building and running on a simulator
toolchain apply to cris-elf.

(For the record, at revision r171949 the tree was in a flux, with 52
regressions in total for cris-elf, but that's been resolved to this single
regression at r172016.  I tested r171943 (last regression-free revision before
r171949) patched with the single commit of r171949; that combination also
fails.)

Reply via email to