[all-commits] [llvm/llvm-project] afc5cc: [libc++] Get rid of _LIBCPP_DISABLE_NEW_DELETE_DEF...

Louis Dionne via All-commits all-commits at lists.llvm.org
Wed Jun 21 06:02:25 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: afc5cca0d4016f09f0d7e2683d5a920c7ecf9397
      https://github.com/llvm/llvm-project/commit/afc5cca0d4016f09f0d7e2683d5a920c7ecf9397
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2023-06-21 (Wed, 21 Jun 2023)

  Changed paths:
    M libcxx/CMakeLists.txt
    M libcxx/src/CMakeLists.txt
    M libcxx/src/new.cpp

  Log Message:
  -----------
  [libc++] Get rid of _LIBCPP_DISABLE_NEW_DELETE_DEFINITIONS

Whether we include operator new and delete into libc++ has always
been a build time setting, and piggy-backing on a macro like
_LIBCPP_DISABLE_NEW_DELETE_DEFINITIONS is inconsistent with how
we handle similar cases for e.g. LIBCXX_ENABLE_RANDOM_DEVICE. Instead,
simply avoid including new.cpp in the sources of the library when we
do not wish to include these operators in the build.

This also makes us much closer to being able to share the definitions
between libc++ and libc++abi, since we could technically build those
definitions into a standalone static library and decide whether we link
it into libc++abi.dylib or libc++.dylib.

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




More information about the All-commits mailing list