summaryrefslogtreecommitdiff
path: root/openmp
diff options
context:
space:
mode:
authorMichal Gorny <mgorny@gentoo.org>2018-12-11 15:39:22 +0000
committerMichal Gorny <mgorny@gentoo.org>2018-12-11 15:39:22 +0000
commitf41a2feaaaf9082f2713299d53b9232aff0b64ea (patch)
treee7d5e675012b14b68e9d3dbd03e966ebcfae9b84 /openmp
parentefdf23fb3b73f57cd6f832e69494064a00acabdd (diff)
[cmake] Use -std=gnu++11 to fix alloca() on NetBSD
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
Diffstat (limited to 'openmp')
-rw-r--r--openmp/cmake/HandleOpenMPOptions.cmake5
-rw-r--r--openmp/cmake/config-ix.cmake3
2 files changed, 6 insertions, 2 deletions
diff --git a/openmp/cmake/HandleOpenMPOptions.cmake b/openmp/cmake/HandleOpenMPOptions.cmake
index 5e5215d3b17..97b616ef2f1 100644
--- a/openmp/cmake/HandleOpenMPOptions.cmake
+++ b/openmp/cmake/HandleOpenMPOptions.cmake
@@ -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()
diff --git a/openmp/cmake/config-ix.cmake b/openmp/cmake/config-ix.cmake
index 912cbd07ba2..13eace9831b 100644
--- a/openmp/cmake/config-ix.cmake
+++ b/openmp/cmake/config-ix.cmake
@@ -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)