[all-commits] [llvm/llvm-project] 12563e: [libc++][NFC] Refactor _LIBCPP_AVAILABILITY_HAS_* ...

philnik777 via All-commits all-commits at lists.llvm.org
Fri Nov 24 14:45:31 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 12563ea6403f6f5a467862732b92db3517626cd2
      https://github.com/llvm/llvm-project/commit/12563ea6403f6f5a467862732b92db3517626cd2
  Author: philnik777 <nikolasklauser at berlin.de>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M libcxx/include/__availability
    M libcxx/include/__verbose_abort
    M libcxx/include/fstream
    M libcxx/include/sstream
    M libcxx/include/version
    M libcxx/src/ios.instantiations.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/atomic.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/barrier.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/filesystem.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/latch.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/memory_resource.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/semaphore.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/stop_token.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/thread.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_terminates.sh.cpp
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++][NFC] Refactor _LIBCPP_AVAILABILITY_HAS_* macros to always be defined (#71002)

This makes the conditionals quite a bit simpler to understand, since it
avoids double negatives and makes sure we have <__availability>
included. For vendors which use availability macros, it also enforces
that they check when specific features are introduced and define the
macro for their platform appropriately.




More information about the All-commits mailing list