From 17a75f7e55bbd92228af1a89e31fc922d8821f78 Mon Sep 17 00:00:00 2001 From: Louis Dionne Date: Thu, 18 Apr 2019 14:47:46 +0000 Subject: [PATCH] [libc++][CMake] Always provide new/delete in libc++ unless specified otherwise Summary: Let's not try to be clever and detect it based on the libc++abi setting. The only build that puts new/delete in libc++abi is Apple's and we set this CMake option explicitly in both libc++ and libc++abi. Complicated dependent options hurt, let's avoid them when possible. Reviewers: phosek, EricWF Subscribers: mgorny, christof, jkorous, dexonsmith, libcxx-commits Tags: #libc Differential Revision: https://reviews.llvm.org/D60797 llvm-svn: 358671 --- libcxx/CMakeLists.txt | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/libcxx/CMakeLists.txt b/libcxx/CMakeLists.txt index 1c78e9565709..b5bda7a9a138 100644 --- a/libcxx/CMakeLists.txt +++ b/libcxx/CMakeLists.txt @@ -197,20 +197,10 @@ option(LIBCXX_ENABLE_ABI_LINKER_SCRIPT "Use and install a linker script for the given ABI library" ${ENABLE_LINKER_SCRIPT_DEFAULT_VALUE}) -set(ENABLE_NEW_DELETE_DEFAULT ON) -if (LIBCXXABI_ENABLE_NEW_DELETE_DEFINITIONS) -# FIXME: This option should default to off. Unfortunatly GCC 4.9 fails to link -# programs due to undefined references to new/delete in libc++abi so to work -# around this libc++abi currently defaults LIBCXXABI_ENABLE_NEW_DELETE_DEFINITIONS -# to ON. Once the GCC bug has been worked around this option should be changed -# back to OFF. - set(ENABLE_NEW_DELETE_DEFAULT ON) -endif() - option(LIBCXX_ENABLE_NEW_DELETE_DEFINITIONS "Build libc++ with definitions for operator new/delete. This option can - be used to disable the definitions when libc++abi is expected to provide - them" ${ENABLE_NEW_DELETE_DEFAULT}) + be used to disable the definitions when libc++abi is expected to provide + them" ON) # Build libc++abi with libunwind. We need this option to determine whether to # link with libunwind or libgcc_s while running the test cases.