LLVM16 patch
https://github.com/llvm/llvm-project/commit/
b4e9977fc18405d4a11cbaf1975bcadbf75920b8
caused bcc build failure like below:
from /.../bcc/src/cc/frontends/clang/b_frontend_action.cc:23:
/.../llvm-project/llvm/build/install/include/llvm/ADT/StringRef.h:96:54: error: expected β)β before βStrβ
/*implicit*/ constexpr StringRef(std::string_view Str)
~ ^~~~
)
/.../llvm-project/llvm/build/install/include/llvm/ADT/StringRef.h:239:14: error: expected type-specifier
operator std::string_view() const {
^~~
LLVM build itself now is done with c++17. Let us also compile with c++17
if bcc is built with llvm16.
Signed-off-by: Yonghong Song <yhs@fb.com>
endif()
set(CMAKE_CXX_STANDARD_REQUIRED ON)
-set(CMAKE_CXX_STANDARD 14)
+if (${LLVM_PACKAGE_VERSION} VERSION_EQUAL 16 OR ${LLVM_PACKAGE_VERSION} VERSION_GREATER 16)
+ set(CMAKE_CXX_STANDARD 17)
+else()
+ set(CMAKE_CXX_STANDARD 14)
+endif()
endif(NOT PYTHON_ONLY)