[cmake] Use -std=gnu++11 to fix alloca() on NetBSD
authorMichal Gorny <mgorny@gentoo.org>
Tue, 11 Dec 2018 15:39:22 +0000 (15:39 +0000)
committerMichal Gorny <mgorny@gentoo.org>
Tue, 11 Dec 2018 15:39:22 +0000 (15:39 +0000)
Prefer using '-std=gnu++11' over '-std=c++11' when available, as NetBSD
exposes the correct alloca() implementation only with gnu* C/C++
standards.

Differential Revision: https://reviews.llvm.org/D55477

llvm-svn: 348854

openmp/cmake/HandleOpenMPOptions.cmake
openmp/cmake/config-ix.cmake

index 5e5215d..97b616e 100644 (file)
@@ -13,4 +13,7 @@ if (${OPENMP_ENABLE_WERROR})
   append_if(OPENMP_HAVE_WERROR_FLAG "-Werror" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
 endif()
 
-append_if(OPENMP_HAVE_STD_CPP11_FLAG "-std=c++11" CMAKE_CXX_FLAGS)
\ No newline at end of file
+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)
+endif()
index 912cbd0..13eace9 100644 (file)
@@ -3,4 +3,5 @@ include(CheckCXXCompilerFlag)
 
 check_c_compiler_flag(-Werror OPENMP_HAVE_WERROR_FLAG)
 
-check_cxx_compiler_flag(-std=c++11 OPENMP_HAVE_STD_CPP11_FLAG)
\ No newline at end of file
+check_cxx_compiler_flag(-std=gnu++11 OPENMP_HAVE_STD_GNUPP11_FLAG)
+check_cxx_compiler_flag(-std=c++11 OPENMP_HAVE_STD_CPP11_FLAG)