forked from OSchip/llvm-project
[OpenMP] Switch default C++ standard to C++ 14
Reviewed By: JonChesterfield Differential Revision: https://reviews.llvm.org/D74258
This commit is contained in:
parent
d3a96fc082
commit
3ff4e2eee8
|
@ -62,7 +62,7 @@ set(ENABLE_LIBOMPTARGET ON)
|
|||
# Currently libomptarget cannot be compiled on Windows or MacOS X.
|
||||
# Since the device plugins are only supported on Linux anyway,
|
||||
# there is no point in trying to compile libomptarget on other OSes.
|
||||
if (APPLE OR WIN32 OR NOT OPENMP_HAVE_STD_CPP11_FLAG)
|
||||
if (APPLE OR WIN32 OR NOT OPENMP_HAVE_STD_CPP14_FLAG)
|
||||
set(ENABLE_LIBOMPTARGET OFF)
|
||||
endif()
|
||||
|
||||
|
@ -72,8 +72,8 @@ if (OPENMP_ENABLE_LIBOMPTARGET)
|
|||
# Check that the library can actually be built.
|
||||
if (APPLE OR WIN32)
|
||||
message(FATAL_ERROR "libomptarget cannot be built on Windows and MacOS X!")
|
||||
elseif (NOT OPENMP_HAVE_STD_CPP11_FLAG)
|
||||
message(FATAL_ERROR "Host compiler must support C++11 to build libomptarget!")
|
||||
elseif (NOT OPENMP_HAVE_STD_CPP14_FLAG)
|
||||
message(FATAL_ERROR "Host compiler must support C++14 to build libomptarget!")
|
||||
endif()
|
||||
|
||||
add_subdirectory(libomptarget)
|
||||
|
|
|
@ -29,7 +29,7 @@ append_if(OPENMP_HAVE_WNO_EXTRA_FLAG "-Wno-extra" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
|
|||
append_if(OPENMP_HAVE_WNO_PEDANTIC_FLAG "-Wno-pedantic" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
|
||||
append_if(OPENMP_HAVE_WNO_MAYBE_UNINITIALIZED_FLAG "-Wno-maybe-uninitialized" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
|
||||
|
||||
append_if(OPENMP_HAVE_STD_GNUPP11_FLAG "-std=gnu++11" CMAKE_CXX_FLAGS)
|
||||
if (NOT OPENMP_HAVE_STD_GNUPP11_FLAG)
|
||||
append_if(OPENMP_HAVE_STD_CPP11_FLAG "-std=c++11" CMAKE_CXX_FLAGS)
|
||||
append_if(OPENMP_HAVE_STD_GNUPP14_FLAG "-std=gnu++14" CMAKE_CXX_FLAGS)
|
||||
if (NOT OPENMP_HAVE_STD_GNUPP14_FLAG)
|
||||
append_if(OPENMP_HAVE_STD_CPP14_FLAG "-std=c++14" CMAKE_CXX_FLAGS)
|
||||
endif()
|
||||
|
|
|
@ -14,5 +14,5 @@ check_cxx_compiler_flag(-Wno-extra OPENMP_HAVE_WNO_EXTRA_FLAG)
|
|||
check_cxx_compiler_flag(-Wno-pedantic OPENMP_HAVE_WNO_PEDANTIC_FLAG)
|
||||
check_cxx_compiler_flag(-Wno-maybe-uninitialized OPENMP_HAVE_WNO_MAYBE_UNINITIALIZED_FLAG)
|
||||
|
||||
check_cxx_compiler_flag(-std=gnu++11 OPENMP_HAVE_STD_GNUPP11_FLAG)
|
||||
check_cxx_compiler_flag(-std=c++11 OPENMP_HAVE_STD_CPP11_FLAG)
|
||||
check_cxx_compiler_flag(-std=gnu++14 OPENMP_HAVE_STD_GNUPP14_FLAG)
|
||||
check_cxx_compiler_flag(-std=c++14 OPENMP_HAVE_STD_CPP14_FLAG)
|
||||
|
|
|
@ -78,7 +78,7 @@ endfunction()
|
|||
|
||||
# These flags are required to emit LLVM Bitcode. We check them together because
|
||||
# if any of them are not supported, there is no point in finding out which are.
|
||||
set(compiler_flags_required -emit-llvm -O1 --cuda-device-only -std=c++11 --cuda-path=${CUDA_TOOLKIT_ROOT_DIR})
|
||||
set(compiler_flags_required -emit-llvm -O1 --cuda-device-only -std=c++14 --cuda-path=${CUDA_TOOLKIT_ROOT_DIR})
|
||||
set(compiler_flags_required_src "extern \"C\" __device__ int thread() { return threadIdx.x; }")
|
||||
check_bitcode_compilation(LIBOMPTARGET_NVPTX_CUDA_COMPILER_SUPPORTS_FLAGS_REQUIRED "${compiler_flags_required_src}" ${compiler_flags_required})
|
||||
|
||||
|
|
|
@ -98,7 +98,7 @@ endif()
|
|||
|
||||
macro(add_cuda_bc_library)
|
||||
set(cu_cmd ${AOMP_BINDIR}/clang++
|
||||
-std=c++11
|
||||
-std=c++14
|
||||
-fcuda-rdc
|
||||
-fvisibility=default
|
||||
--cuda-device-only
|
||||
|
|
|
@ -111,7 +111,7 @@ config.substitutions.append(("%libomp-compile-and-run", \
|
|||
config.substitutions.append(("%libomp-cxx-compile-and-run", \
|
||||
"%libomp-cxx-compile && %libomp-run"))
|
||||
config.substitutions.append(("%libomp-cxx-compile", \
|
||||
"%clangXX %openmp_flags %flags -std=c++11 %s -o %t" + libs))
|
||||
"%clangXX %openmp_flags %flags -std=c++14 %s -o %t" + libs))
|
||||
config.substitutions.append(("%libomp-compile", \
|
||||
"%clang %openmp_flags %flags %s -o %t" + libs))
|
||||
config.substitutions.append(("%libomp-run", "%t"))
|
||||
|
|
|
@ -97,7 +97,7 @@ config.substitutions.append(("%libarcher-compile-and-run", \
|
|||
config.substitutions.append(("%libarcher-cxx-compile-and-run", \
|
||||
"%libarcher-cxx-compile && %libarcher-run"))
|
||||
config.substitutions.append(("%libarcher-cxx-compile", \
|
||||
"%clang-archerXX %openmp_flags %archer_flags %flags -std=c++11 %s -o %t" + libs))
|
||||
"%clang-archerXX %openmp_flags %archer_flags %flags -std=c++14 %s -o %t" + libs))
|
||||
config.substitutions.append(("%libarcher-compile", \
|
||||
"%clang-archer %openmp_flags %archer_flags %flags %s -o %t" + libs))
|
||||
config.substitutions.append(("%libarcher-run-race", "%suppression %deflake %t 2>&1 | tee %t.log"))
|
||||
|
|
Loading…
Reference in New Issue