[all-commits] [llvm/llvm-project] 76fc35: [libc++] Make feature-test macros consistent with ...

Louis Dionne via All-commits all-commits at lists.llvm.org
Thu Feb 4 08:40:54 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 76fc35752d19ac605c1c1fd757af9c7c3bb4a906
      https://github.com/llvm/llvm-project/commit/76fc35752d19ac605c1c1fd757af9c7c3bb4a906
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2021-02-04 (Thu, 04 Feb 2021)

  Changed paths:
    M libcxx/include/__availability
    M libcxx/include/version
    R libcxx/test/std/input.output/filesystems/fs.req.macros/feature_macro.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/atomic.version.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/barrier.version.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/filesystem.version.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/latch.version.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/semaphore.version.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/shared_mutex.version.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.pass.cpp
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++] Make feature-test macros consistent with availability macros

Before this patch, feature-test macros didn't take special availability
markup into account, which means that feature-test macros can sometimes
appear to "lie". For example, if you compile in C++20 mode and target
macOS 10.13, the __cpp_lib_filesystem feature-test macro will be provided
even though the <filesystem> declarations are marked as unavailable.
This patch fixes that.

rdar://68142369

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




More information about the All-commits mailing list