From 903513e454c9847370f7e54797ff29f12e1de4d9 Mon Sep 17 00:00:00 2001 From: yonghong-song Date: Tue, 24 Sep 2019 20:08:31 -0700 Subject: [PATCH] cmakefile change to require c++14 (#2529) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The latest llvm trunk (llvm 10) built require c++14. Built with gcc and llvm 10 headers, the following error will show up: ... /home/yhs/work/llvm-project/llvm/build/install/include/llvm/Support/RWMutex.h: At global scope: /home/yhs/work/llvm-project/llvm/build/install/include/llvm/Support/RWMutex.h:101:8: error: ‘shared_t$ med_mutex’ in namespace ‘std’ does not name a type std::shared_timed_mutex impl; ... /home/yhs/work/llvm-project/llvm/build/install/include/llvm/Support/TrailingObjects.h:252:19: error: ‘is_final’ is not a member of ‘std’ static_assert(std::is_final(), "BaseTy must be final."); ... std::shared_timed_mutex and std::is_final etc. are all c++14 features. Most compilers should already support c++14. Let us require it in Makefile now. Signed-off-by: Yonghong Song --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 61d9ac982f26..c2b7266538ad 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -86,7 +86,7 @@ if (USINGISYSTEM AND GCC_VERSION VERSION_LESS 6.0) endif() set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_STANDARD 14) endif(NOT PYTHON_ONLY AND ENABLE_CLANG_JIT)