unalignedassert fails with gcc 4.7 32Bit
Submitted by and..@..web.de
Assigned to Nobody
Link to original bugzilla bug (#490)
Version: 3.0
Operating system: Linux
Description
Hi all,
both the current development version and 3.0.6
fail the unalignedassert test when compiled
with on Ubuntu 12.10 32Bit and Fedora 17 32Bit,
where gcc 4.7 is default.
With the non-default gcc 4.6, the same test succeeds.
Important: I was let to this bug because our robotics software that includes eigen segfaults in the matrix destructor when being built with gcc 4.7. With gcc 3.6, it works fine.
So this is really a bug relevant to us, not just a failing unit test.
And it occurs both with stable 3.0.6 and development.
How to reproduce (Ubuntu 12.10 32 Bit)
cmake ..
make unalignedassert
./check.sh unalignedassert
cat Testing/Temporary/LastTest.log
says
runtest.sh: line 20: 30794 Aborted (core dumped) ./$1 > /dev/null 2> .runtest.log
Test unalignedassert failed:
Eigen::should_raise_an_assert && "construct_at_boundary<Vector4f>(8)"
<end of output>
Test time = 0.14 sec
Test unalignedassert() failed in /home/gaschler/packages/eigen/latest/eigen/test/unalignedassert.cpp (128)Test Failed.
Interesting, gcc 4.6 will succeed on the same platform:
sudo apt-get install g++-4.6 gcc-4.6 cpp-4.6
cmake ../eigen -DCMAKE_CXX_COMPILER=/usr/bin/g++-4.6 -DCMAKE_C_COMPILER=/usr/bin/gcc-4.6
make unalignedassert
./check.sh unalignedassert
1/1 Test #15 (closed): unalignedassert .................. Passed 0.01 sec
Your help is appreciated.