我正在尝试使用llvm测试套件来运行SPEC2017基准测试,根据LLVM的测试套件指南。我的cmake命令成功了,但是使用make,我在numeric_traits.h这样的包含文件中得到了错误。对于__is_signal在numeric_traits.h和stl_algobase.h中的每一次出现,我都会得到错误。
CMake命令:
$ cmake -DCMAKE_C_COMPILER:STRING="/usr/bin/clang-7" -DCMAKE_CXX_COMPILER:STRING="/usr/bin/clang++-7" -DCMAKE_C_FLAGS="-fPIC" -C../test-suite/cmake/caches/O3.cmake -DTEST_SUITE_SPEC2017_ROOT:STRING="../speccpu2017" ../test-suite
...
$ make
...
In file included from /home/speccpu2017/benchspec/CPU/526.blender_r/src/blender/source/blender/render/intern/raytrace/rayobject_qbvh.cpp:37:
In file included from /home/speccpu2017/benchspec/CPU/526.blender_r/src/blender/source/blender/render/intern/raytrace/vbvh.h:34:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/algorithm:61:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/stl_algobase.h:63:
/usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/ext/numeric_traits.h:63:25: error: expected member name or ';' after
declaration specifiers
static const bool __is_signed = __glibcxx_signed(_Value);
~~~~~~~~~~~~~~~~~ ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/ext/numeric_traits.h:74:50: error: expected unqualified-id
const bool __numeric_traits_integer<_Value>::__is_signed;
^
[Long error. Truncated for clarity]设置:
发布于 2019-12-18 22:31:38
将其放入CXX 定值的可移植标志中。
FYI、<SPEC_SRC>/config/Example-clang-llvm-linux-x86.cfg或<SPEC_SRC>/config/Example-aocc-linux-x86.cfg包含特定于Clang的可移植标志。
https://stackoverflow.com/questions/58469646
复制相似问题