google/benchmark

Compilation with IBM XL crashes the compiler

Open

#865 aperta il 4 set 2019

Vedi su GitHub
 (2 commenti) (0 reazioni) (0 assegnatari)C++ (1539 fork)batch import
good first issuehelp wanted

Metriche repository

Star
 (7968 star)
Metriche merge PR
 (Merge medio 4g 2h) (19 PR mergiate in 30 g)

Descrizione

I was trying to build google benchmark with IBM XL 16.1.1 and it crashed the compiler. Not sure if anyone wants to investigate a workaround or so.

cmake -DCMAKE_CXX_COMPILER=xlc++ -DBENCHMARK_ENABLE_GTEST_TESTS=OFF ../
....
....
....
[ 40%] Building CXX object test/CMakeFiles/donotoptimize_test.dir/donotoptimize_test.cc.o
cd /ascldap/users/crtrott/Software/benchmark/build-xl/test && /ascldap/users/projects/ppc64le/ibm/xlC/16.1.1/bin/xlc++ -+ -DHAVE_POSIX_REGEX -DHAVE_STEADY_CLOCK -DTEST_BENCHMARK_LIBRARY_HAS_NO_ASSERTIONS -I/ascldap/users/crtrott/Software/benchmark/include -I/ascldap/users/crtrott/Software/benchmark/src/../include  -qthreaded  -std=c++11  -Wall  -Wextra  -Wshadow  -pedantic  -pedantic-errors  -Wshorten-64-to-32  -fstrict-aliasing  -Wno-deprecated-declarations  -Wstrict-aliasing  -Wthread-safety   -UNDEBUG -O3 -o CMakeFiles/donotoptimize_test.dir/donotoptimize_test.cc.o -c /ascldap/users/crtrott/Software/benchmark/test/donotoptimize_test.cc
    1500-004: (U) INTERNAL COMPILER ERROR while compiling main.  Compilation ended.  Contact your Service Representative and provide the following information: Internal abort.
xlc++ --version
IBM XL C/C++ for Linux, V16.1.1 (5725-C73, 5765-J13)
Version: 16.01.0001.0004

In the end this is clearly a compiler bug since it at least shouldn't crash. But we have been working around compiler bugs in our codes not sure what googles philosophy on this is.

Forgot to paste system info this is a IBM Power 9 system with NVIDIA V100 GPUs in it running ReadHat 7.5. (kinda like Summit). I can't post to much more details unfortunately but here is uname output:

Linux XXXX 4.14.0-49.8.1.el7a.ppc64le #1 SMP Mon May 28 07:06:43 UTC 2018 ppc64le ppc64le ppc64le GNU/Linux
```

Guida contributor