[all-commits] [llvm/llvm-project] c861fe: [libc++] Introduce ABI sensitive areas to avoid re...

Nikolas Klauser via All-commits all-commits at lists.llvm.org
Sun May 18 06:47:27 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c861fe8a71e64f3d2108c58147e7375cd9314521
      https://github.com/llvm/llvm-project/commit/c861fe8a71e64f3d2108c58147e7375cd9314521
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-05-18 (Sun, 18 May 2025)

  Changed paths:
    M libcxx/include/__algorithm/shuffle.h
    M libcxx/include/__algorithm/sort.h
    M libcxx/include/__atomic/atomic_sync.h
    M libcxx/include/__charconv/from_chars_floating_point.h
    M libcxx/include/__charconv/to_chars_floating_point.h
    M libcxx/include/__chrono/exception.h
    M libcxx/include/__chrono/file_clock.h
    M libcxx/include/__chrono/steady_clock.h
    M libcxx/include/__chrono/system_clock.h
    M libcxx/include/__condition_variable/condition_variable.h
    M libcxx/include/__config
    M libcxx/include/__exception/exception.h
    M libcxx/include/__exception/exception_ptr.h
    M libcxx/include/__exception/nested_exception.h
    M libcxx/include/__exception/operations.h
    M libcxx/include/__exception/terminate.h
    M libcxx/include/__expected/bad_expected_access.h
    M libcxx/include/__filesystem/directory_entry.h
    M libcxx/include/__filesystem/directory_iterator.h
    M libcxx/include/__filesystem/filesystem_error.h
    M libcxx/include/__filesystem/operations.h
    M libcxx/include/__filesystem/path.h
    M libcxx/include/__filesystem/path_iterator.h
    M libcxx/include/__filesystem/recursive_directory_iterator.h
    M libcxx/include/__format/format_error.h
    M libcxx/include/__functional/function.h
    M libcxx/include/__functional/hash.h
    M libcxx/include/__hash_table
    M libcxx/include/__locale
    M libcxx/include/__memory/align.h
    M libcxx/include/__memory/shared_count.h
    M libcxx/include/__memory/shared_ptr.h
    M libcxx/include/__memory_resource/memory_resource.h
    M libcxx/include/__memory_resource/monotonic_buffer_resource.h
    M libcxx/include/__memory_resource/synchronized_pool_resource.h
    M libcxx/include/__memory_resource/unsynchronized_pool_resource.h
    M libcxx/include/__mutex/mutex.h
    M libcxx/include/__mutex/once_flag.h
    M libcxx/include/__new/exceptions.h
    M libcxx/include/__new/new_handler.h
    M libcxx/include/__ostream/basic_ostream.h
    M libcxx/include/__ostream/print.h
    M libcxx/include/__pstl/backends/libdispatch.h
    M libcxx/include/__random/binomial_distribution.h
    M libcxx/include/__random/random_device.h
    M libcxx/include/__system_error/error_category.h
    M libcxx/include/__system_error/error_code.h
    M libcxx/include/__system_error/error_condition.h
    M libcxx/include/__system_error/system_error.h
    M libcxx/include/__system_error/throw_system_error.h
    M libcxx/include/__thread/this_thread.h
    M libcxx/include/__thread/thread.h
    M libcxx/include/__verbose_abort
    M libcxx/include/any
    M libcxx/include/barrier
    M libcxx/include/codecvt
    M libcxx/include/condition_variable
    M libcxx/include/fstream
    M libcxx/include/future
    M libcxx/include/ios
    M libcxx/include/istream
    M libcxx/include/locale
    M libcxx/include/mutex
    M libcxx/include/print
    M libcxx/include/regex
    M libcxx/include/shared_mutex
    M libcxx/include/sstream
    M libcxx/include/stdexcept
    M libcxx/include/streambuf
    M libcxx/include/string
    M libcxx/include/strstream
    M libcxx/include/valarray
    M libcxx/include/variant
    M libcxx/src/algorithm.cpp
    M libcxx/src/any.cpp
    M libcxx/src/atomic.cpp
    M libcxx/src/barrier.cpp
    M libcxx/src/call_once.cpp
    M libcxx/src/charconv.cpp
    M libcxx/src/chrono.cpp
    M libcxx/src/condition_variable.cpp
    M libcxx/src/condition_variable_destructor.cpp
    M libcxx/src/error_category.cpp
    M libcxx/src/expected.cpp
    M libcxx/src/experimental/chrono_exception.cpp
    M libcxx/src/filesystem/directory_entry.cpp
    M libcxx/src/filesystem/directory_iterator.cpp
    M libcxx/src/filesystem/filesystem_clock.cpp
    M libcxx/src/filesystem/filesystem_error.cpp
    M libcxx/src/filesystem/operations.cpp
    M libcxx/src/filesystem/path.cpp
    M libcxx/src/fstream.cpp
    M libcxx/src/functional.cpp
    M libcxx/src/future.cpp
    M libcxx/src/hash.cpp
    M libcxx/src/ios.cpp
    M libcxx/src/iostream.cpp
    M libcxx/src/locale.cpp
    M libcxx/src/memory.cpp
    M libcxx/src/memory_resource.cpp
    M libcxx/src/mutex.cpp
    M libcxx/src/mutex_destructor.cpp
    M libcxx/src/optional.cpp
    M libcxx/src/ostream.cpp
    M libcxx/src/print.cpp
    M libcxx/src/random.cpp
    M libcxx/src/random_shuffle.cpp
    M libcxx/src/regex.cpp
    M libcxx/src/shared_mutex.cpp
    M libcxx/src/std_stream.h
    M libcxx/src/stdexcept.cpp
    M libcxx/src/string.cpp
    M libcxx/src/strstream.cpp
    M libcxx/src/system_error.cpp
    M libcxx/src/thread.cpp
    M libcxx/src/valarray.cpp
    M libcxx/src/vector.cpp
    M libcxx/src/verbose_abort.cpp
    M libcxx/test/tools/clang_tidy_checks/hide_from_abi.cpp

  Log Message:
  -----------
  [libc++] Introduce ABI sensitive areas to avoid requiring _LIBCPP_HIDE_FROM_ABI everywhere (#131156)

This patch introduces `_LIBCPP_{BEGIN,END}_EXPLICIT_ABI_ANNOTATIONS`,
which allow us to have implicit annotations for most functions, and just
where it's not "hide_from_abi everything" we add explicit annotations.
This allows us to drop the `_LIBCPP_HIDE_FROM_ABI` macro from most
functions in libc++.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list