[PATCH] D75199: Build fix: Turn off _GLIBCXX_DEBUG on gcc 9
Nicolai Hähnle via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 2 07:24:30 PST 2020
This revision was automatically updated to reflect the committed changes.
Closed by commit rG1d104f75498c: Build fix: Turn off _GLIBCXX_DEBUG based on a compile check (authored by nhaehnle).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D75199/new/
https://reviews.llvm.org/D75199
Files:
llvm/cmake/modules/HandleLLVMOptions.cmake
Index: llvm/cmake/modules/HandleLLVMOptions.cmake
===================================================================
--- llvm/cmake/modules/HandleLLVMOptions.cmake
+++ llvm/cmake/modules/HandleLLVMOptions.cmake
@@ -77,7 +77,22 @@
if(LLVM_ENABLE_EXPENSIVE_CHECKS)
add_definitions(-DEXPENSIVE_CHECKS)
- add_definitions(-D_GLIBCXX_DEBUG)
+
+ # In some libstdc++ versions, std::min_element is not constexpr when
+ # _GLIBCXX_DEBUG is enabled.
+ CHECK_CXX_SOURCE_COMPILES("
+ #define _GLIBCXX_DEBUG
+ #include <algorithm>
+ int main(int argc, char** argv) {
+ static constexpr int data[] = {0, 1};
+ constexpr const int* min_elt = std::min_element(&data[0], &data[2]);
+ return 0;
+ }" CXX_SUPPORTS_GLIBCXX_DEBUG)
+ if(CXX_SUPPORTS_GLIBCXX_DEBUG)
+ add_definitions(-D_GLIBCXX_DEBUG)
+ else()
+ add_definitions(-D_GLIBCXX_ASSERTIONS)
+ endif()
endif()
string(TOUPPER "${LLVM_ABI_BREAKING_CHECKS}" uppercase_LLVM_ABI_BREAKING_CHECKS)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D75199.247644.patch
Type: text/x-patch
Size: 978 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200302/146362a7/attachment.bin>
More information about the llvm-commits
mailing list