Skip to content

Work around g++-10 docker issue for geo_orthomethods_4.

There seems to be a weird compiler bug in the g++-10 version of the ubuntu:20.04 docker image that is optimizing out one of our test vectors in geo_orthomethods_4 and causing a test failure. The weirder part is that on a machine actually running ubuntu 20.04, with the exact same version of g++-10, the test passes as-is. Reported version on both is

g++-10 (Ubuntu 10.3.0-1ubuntu1~20.04) 10.3.0

To reproduce the original failure in docker,

docker run -it ubuntu:20.04

export DEBIAN_FRONTEND=noninteractive
apt update
apt-get install -y --no-install-recommends software-properties-common git
add-apt-repository -y ppa:ubuntu-toolchain-r/test
apt update
apt install g++-10
git clone https://gitlab.com/libeigen/eigen.git

g++-10 -Ieigen -DEIGEN_TEST_PART_4=1 -O3 -mfma eigen/test/geo_orthomethods.cpp -o geo_orthomethods_4
./geo_orthomethods_4

By storing the casted vector into v2, we seem to work around the issue.

Merge request reports

Loading