This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/58006] New: ICE regression compiling VegaStrike on f19 with -ffast-math and -ftree-parallelize-loops=2
- From: "ermo.gcc.gnu.org at spammesenseless dot net" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sat, 27 Jul 2013 20:51:35 +0000
- Subject: [Bug c++/58006] New: ICE regression compiling VegaStrike on f19 with -ffast-math and -ftree-parallelize-loops=2
- Auto-submitted: auto-generated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58006
Bug ID: 58006
Summary: ICE regression compiling VegaStrike on f19 with
-ffast-math and -ftree-parallelize-loops=2
Product: gcc
Version: 4.8.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: ermo.gcc.gnu.org at spammesenseless dot net
When trying to compile rev. 13636 of VegaStrike (using the CMake build method)
with gcc (GCC) 4.8.1 20130603 (Red Hat 4.8.1-1), g++ ICEs on the following
compilation target on both a C2D E7500 and an AMD Athlon II 240e running
fedora19 x86_64:
[ermo@sheila build]$ make
/usr/bin/cmake -H/home/ermo/VegaStrike/trunk/vegastrike
-B/home/ermo/VegaStrike/trunk/vegastrike/build --check-build-system
CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start
/home/ermo/VegaStrike/trunk/vegastrike/build/CMakeFiles
/home/ermo/VegaStrike/trunk/vegastrike/build/CMakeFiles/progress.marks
make -f CMakeFiles/Makefile2 all
make[1]: Entering directory `/home/ermo/VegaStrike/trunk/vegastrike/build'
make -f CMakeFiles/OPcollide.dir/build.make CMakeFiles/OPcollide.dir/depend
make[2]: Entering directory `/home/ermo/VegaStrike/trunk/vegastrike/build'
cd /home/ermo/VegaStrike/trunk/vegastrike/build && /usr/bin/cmake -E
cmake_depends "Unix Makefiles" /home/ermo/VegaStrike/trunk/vegastrike
/home/ermo/VegaStrike/trunk/vegastrike
/home/ermo/VegaStrike/trunk/vegastrike/build
/home/ermo/VegaStrike/trunk/vegastrike/build
/home/ermo/VegaStrike/trunk/vegastrike/build/CMakeFiles/OPcollide.dir/DependInfo.cmake
--color=
make[2]: Leaving directory `/home/ermo/VegaStrike/trunk/vegastrike/build'
make -f CMakeFiles/OPcollide.dir/build.make CMakeFiles/OPcollide.dir/build
make[2]: Entering directory `/home/ermo/VegaStrike/trunk/vegastrike/build'
make[2]: Nothing to be done for `CMakeFiles/OPcollide.dir/build'.
make[2]: Leaving directory `/home/ermo/VegaStrike/trunk/vegastrike/build'
/usr/bin/cmake -E cmake_progress_report
/home/ermo/VegaStrike/trunk/vegastrike/build/CMakeFiles 1 2 3 4 5 6 7 8
[ 8%] Built target OPcollide
make -f CMakeFiles/engine_com.dir/build.make CMakeFiles/engine_com.dir/depend
make[2]: Entering directory `/home/ermo/VegaStrike/trunk/vegastrike/build'
cd /home/ermo/VegaStrike/trunk/vegastrike/build && /usr/bin/cmake -E
cmake_depends "Unix Makefiles" /home/ermo/VegaStrike/trunk/vegastrike
/home/ermo/VegaStrike/trunk/vegastrike
/home/ermo/VegaStrike/trunk/vegastrike/build
/home/ermo/VegaStrike/trunk/vegastrike/build
/home/ermo/VegaStrike/trunk/vegastrike/build/CMakeFiles/engine_com.dir/DependInfo.cmake
--color=
make[2]: Leaving directory `/home/ermo/VegaStrike/trunk/vegastrike/build'
make -f CMakeFiles/engine_com.dir/build.make CMakeFiles/engine_com.dir/build
make[2]: Entering directory `/home/ermo/VegaStrike/trunk/vegastrike/build'
/usr/bin/cmake -E cmake_progress_report
/home/ermo/VegaStrike/trunk/vegastrike/build/CMakeFiles
[ 8%] Building CXX object
CMakeFiles/engine_com.dir/src/gfx/cockpit_generic.cpp.o
/usr/bin/c++ -O2 -mtune=native -march=native -mfpmath=sse -msse3 -mmmx
-ftree-vectorize -ffast-math -fassociative-math -funsafe-math-optimizations
-funroll-loops -ftree-parallelize-loops=2 -DNV_CUBE_MAP
-DBOOST_PYTHON_NO_PY_SIGNATURES -include config.h -pipe -Wall
-fvisibility=hidden -I/home/ermo/VegaStrike/trunk/vegastrike/src
-I/home/ermo/VegaStrike/trunk/vegastrike/src/cmd
-I/home/ermo/VegaStrike/trunk/vegastrike/build -I/usr/include/python2.7
-I/home/ermo/VegaStrike/trunk/vegastrike/boost/1_53 -I/usr/include/AL
-I/usr/include/SDL -I/usr/include/vorbis -I/usr/include/ogg -o
CMakeFiles/engine_com.dir/src/gfx/cockpit_generic.cpp.o -c
/home/ermo/VegaStrike/trunk/vegastrike/src/gfx/cockpit_generic.cpp
/home/ermo/VegaStrike/trunk/vegastrike/src/gfx/cockpit_generic.cpp: In member
function âbool Cockpit::Update()â:
/home/ermo/VegaStrike/trunk/vegastrike/src/gfx/cockpit_generic.cpp:494:6:
internal compiler error: Segmentation fault
bool Cockpit::Update()
^
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://bugzilla.redhat.com/bugzilla> for instructions.
Preprocessed source stored into /tmp/ccnOEb2C.out file, please attach this to
your bugreport.
make[2]: *** [CMakeFiles/engine_com.dir/src/gfx/cockpit_generic.cpp.o] Error 1
make[2]: Leaving directory `/home/ermo/VegaStrike/trunk/vegastrike/build'
make[1]: *** [CMakeFiles/engine_com.dir/all] Error 2
make[1]: Leaving directory `/home/ermo/VegaStrike/trunk/vegastrike/build'
make: *** [all] Error 2
[ermo@sheila build]$
It turns out that the minimal repro case is adding just -mtune=native
-march=native -ffast-math -ftree-parallelize-loops=2 to that particular
compilation target.
Note that on fedora18, which uses gcc-4.7.2, the exact same configuration does
not result in an ICE.
Vega Strike build instructions can be found here:
http://wiki.vega-strike.org/HowTo:Compile_from_SVN_on_Linux
I used the following ccmake configuration (only differences to default listed):
CPUINTEL_native ON
CPU_SMP 2
DISABLE_FFMPEG ON
CMAKE_VERBOSE_MAKEFILE ON (only listed in the advanced config
options)
P.S. I am aware that there might be some redundancy in the build configuration
CFLAGS.