[Bug regression/57766] New: [4.9 Regression]: gcc.sum c-c++-common/cilk-plus/AN/sec_implicit_ex.c
hp at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Jul 1 02:20:00 GMT 2013
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57766
Bug ID: 57766
Summary: [4.9 Regression]: gcc.sum
c-c++-common/cilk-plus/AN/sec_implicit_ex.c
Product: gcc
Version: 4.7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: regression
Assignee: unassigned at gcc dot gnu.org
Reporter: hp at gcc dot gnu.org
CC: bviyer at gcc dot gnu.org
Host: x86_64-unknown-linux-gnu
Target: cris-axis-elf
This test previously passed, now it fails.
A patch in the revision range (last_known_working:first_known_failing)
200195:200205
exposed or caused this regression. Since then it fails as follows:
Running /tmp/hpautotest-gcc1/gcc/gcc/testsuite/gcc.dg/cilk-plus/cilk-plus.exp
...
FAIL: c-c++-common/cilk-plus/AN/sec_implicit_ex.c -fcilkplus execution test
FAIL: c-c++-common/cilk-plus/AN/sec_implicit_ex.c -O0 -fcilkplus execution
test
FAIL: c-c++-common/cilk-plus/AN/sec_implicit_ex.c -O1 -fcilkplus execution
test
FAIL: c-c++-common/cilk-plus/AN/sec_implicit_ex.c -O2 -ftree-vectorize
-fcilkplus execution test
FAIL: c-c++-common/cilk-plus/AN/sec_implicit_ex.c -O3 -fcilkplus execution
test
FAIL: c-c++-common/cilk-plus/AN/sec_implicit_ex.c -g -fcilkplus execution test
FAIL: c-c++-common/cilk-plus/AN/sec_implicit_ex.c -g -O0 -fcilkplus execution
test
FAIL: c-c++-common/cilk-plus/AN/sec_implicit_ex.c -g -O1 -fcilkplus execution
test
FAIL: c-c++-common/cilk-plus/AN/sec_implicit_ex.c -g -O2 -ftree-vectorize
-fcilkplus execution test
FAIL: c-c++-common/cilk-plus/AN/sec_implicit_ex.c -g -O3 -fcilkplus execution
test
FAIL: c-c++-common/cilk-plus/AN/sec_implicit_ex.c -O3 -ftree-vectorize
-fcilkplus -g execution test
FAIL: c-c++-common/cilk-plus/AN/sec_implicit_ex.c -fcilkplus -std=c99
execution test
FAIL: c-c++-common/cilk-plus/AN/sec_implicit_ex.c -fcilkplus -O0 -std=c99
execution test
FAIL: c-c++-common/cilk-plus/AN/sec_implicit_ex.c -fcilkplus -O1 -std=c99
execution test
FAIL: c-c++-common/cilk-plus/AN/sec_implicit_ex.c -fcilkplus -O2
-ftree-vectorize -std=c99 execution test
FAIL: c-c++-common/cilk-plus/AN/sec_implicit_ex.c -fcilkplus -O3 -std=c99
execution test
FAIL: c-c++-common/cilk-plus/AN/sec_implicit_ex.c -fcilkplus -g -std=c99
execution test
FAIL: c-c++-common/cilk-plus/AN/sec_implicit_ex.c -fcilkplus -g -O0 -std=c99
execution test
FAIL: c-c++-common/cilk-plus/AN/sec_implicit_ex.c -fcilkplus -g -O1 -std=c99
execution test
FAIL: c-c++-common/cilk-plus/AN/sec_implicit_ex.c -fcilkplus -g -O2
-ftree-vectorize -std=c99 execution test
FAIL: c-c++-common/cilk-plus/AN/sec_implicit_ex.c -fcilkplus -g -O3 -std=c99
execution test
FAIL: c-c++-common/cilk-plus/AN/sec_implicit_ex.c -O3 -ftree-vectorize
-std=c99 -g -fcilkplus execution test
The messages in gcc.log are similar:
Executing on host: /tmp/hpautotest-gcc1/cris-elf/gccobj/gcc/xgcc
-B/tmp/hpautotest-gcc1/cris-elf/gccobj/gcc/
/tmp/hpautotest-gcc1/gcc/gcc/testsuite/c-c++-common/cilk-plus/AN/sec_implicit_ex.c
-fno-diagnostics-show-caret -fdiagnostics-color=never -fcilkplus -fcilkplus
-isystem /tmp/hpautotest-gcc1/cris-elf/gccobj/cris-elf/./newlib/targ-include
-isystem /tmp/hpautotest-gcc1/gcc/newlib/libc/include
-B/tmp/hpautotest-gcc1/cris-elf/gccobj/cris-elf/./libgloss/cris/
-L/tmp/hpautotest-gcc1/cris-elf/gccobj/cris-elf/./libgloss/cris
-L/tmp/hpautotest-gcc1/gcc/libgloss/cris
-B/tmp/hpautotest-gcc1/cris-elf/gccobj/cris-elf/./newlib/
-L/tmp/hpautotest-gcc1/cris-elf/gccobj/cris-elf/./newlib -sim3 -lm -o
./sec_implicit_ex.exe (timeout = 300)
PASS: c-c++-common/cilk-plus/AN/sec_implicit_ex.c -fcilkplus (test for excess
errors)
core: 4 byte write to unmapped address 0x3d85e0f8 at 0x1ae
program stopped with signal 11.
FAIL: c-c++-common/cilk-plus/AN/sec_implicit_ex.c -fcilkplus execution test
The tests also fail when used as part of the C++ test-suite. The error message
looks a bit like a stack underflow error, admittedly not gracefully handled.
The most obvious change in that range is the change of number of elements from
10 to 100 in the test-case - in each dimention. So, the test requires 4000000
bytes on a 32-bit machine (or maybe twice that, I'm not fluent in the cilkplus
array notation). Is that 100 really necessary? Can't we do like in the
libstdc++ test-suite and have e.g. (see for example
libstdc++-v3/testsuite/20_util/hash/chi2_quality.cc):
// { dg-additional-options "-DNUMBER=10" { target simulator } }
with the current #define wrapped in #ifndef.
Author CC:ed.
More information about the Gcc-bugs
mailing list