[all-commits] [llvm/llvm-project] 83ce13: [libc++] Add hide_from_abi check for classes

philnik777 via All-commits all-commits at lists.llvm.org
Sun Apr 16 06:23:37 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 83ce139721260d176773d811f576289370f3313c
      https://github.com/llvm/llvm-project/commit/83ce139721260d176773d811f576289370f3313c
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2023-04-16 (Sun, 16 Apr 2023)

  Changed paths:
    M libcxx/include/__algorithm/comp_ref_type.h
    M libcxx/include/__algorithm/make_projected.h
    M libcxx/include/__algorithm/shuffle.h
    M libcxx/include/__atomic/atomic_flag.h
    M libcxx/include/__chrono/calendar.h
    M libcxx/include/__chrono/day.h
    M libcxx/include/__chrono/duration.h
    M libcxx/include/__chrono/month.h
    M libcxx/include/__chrono/monthday.h
    M libcxx/include/__chrono/weekday.h
    M libcxx/include/__chrono/year.h
    M libcxx/include/__chrono/year_month.h
    M libcxx/include/__chrono/year_month_day.h
    M libcxx/include/__chrono/year_month_weekday.h
    M libcxx/include/__concepts/swappable.h
    M libcxx/include/__condition_variable/condition_variable.h
    M libcxx/include/__coroutine/coroutine_handle.h
    M libcxx/include/__expected/bad_expected_access.h
    M libcxx/include/__expected/unexpect.h
    M libcxx/include/__filesystem/directory_entry.h
    M libcxx/include/__filesystem/file_status.h
    M libcxx/include/__filesystem/filesystem_error.h
    M libcxx/include/__filesystem/path_iterator.h
    M libcxx/include/__filesystem/recursive_directory_iterator.h
    M libcxx/include/__format/format_args.h
    M libcxx/include/__functional/boyer_moore_searcher.h
    M libcxx/include/__functional/function.h
    M libcxx/include/__functional/hash.h
    M libcxx/include/__functional/identity.h
    M libcxx/include/__functional/invoke.h
    M libcxx/include/__functional/perfect_forward.h
    M libcxx/include/__functional/ranges_operations.h
    M libcxx/include/__hash_table
    M libcxx/include/__iterator/common_iterator.h
    M libcxx/include/__iterator/move_sentinel.h
    M libcxx/include/__locale
    M libcxx/include/__memory/allocator.h
    M libcxx/include/__memory/builtin_new_allocator.h
    M libcxx/include/__memory/ranges_uninitialized_algorithms.h
    M libcxx/include/__memory/shared_ptr.h
    M libcxx/include/__memory/temp_value.h
    M libcxx/include/__memory_resource/monotonic_buffer_resource.h
    M libcxx/include/__memory_resource/polymorphic_allocator.h
    M libcxx/include/__memory_resource/synchronized_pool_resource.h
    M libcxx/include/__mutex/mutex.h
    M libcxx/include/__random/binomial_distribution.h
    M libcxx/include/__random/discard_block_engine.h
    M libcxx/include/__random/discrete_distribution.h
    M libcxx/include/__random/exponential_distribution.h
    M libcxx/include/__random/extreme_value_distribution.h
    M libcxx/include/__random/fisher_f_distribution.h
    M libcxx/include/__random/gamma_distribution.h
    M libcxx/include/__random/independent_bits_engine.h
    M libcxx/include/__random/linear_congruential_engine.h
    M libcxx/include/__random/mersenne_twister_engine.h
    M libcxx/include/__random/negative_binomial_distribution.h
    M libcxx/include/__random/normal_distribution.h
    M libcxx/include/__random/piecewise_constant_distribution.h
    M libcxx/include/__random/piecewise_linear_distribution.h
    M libcxx/include/__random/poisson_distribution.h
    M libcxx/include/__random/random_device.h
    M libcxx/include/__random/seed_seq.h
    M libcxx/include/__random/student_t_distribution.h
    M libcxx/include/__random/subtract_with_carry_engine.h
    M libcxx/include/__random/uniform_int_distribution.h
    M libcxx/include/__random/uniform_real_distribution.h
    M libcxx/include/__ranges/drop_view.h
    M libcxx/include/__ranges/iota_view.h
    M libcxx/include/__ranges/non_propagating_cache.h
    M libcxx/include/__ranges/owning_view.h
    M libcxx/include/__ranges/range_adaptor.h
    M libcxx/include/__ranges/subrange.h
    M libcxx/include/__string/char_traits.h
    M libcxx/include/__system_error/system_error.h
    M libcxx/include/__tree
    M libcxx/include/__tuple/sfinae_helpers.h
    M libcxx/include/__utility/in_place.h
    M libcxx/include/__utility/pair.h
    M libcxx/include/any
    M libcxx/include/array
    M libcxx/include/barrier
    M libcxx/include/condition_variable
    M libcxx/include/experimental/iterator
    M libcxx/include/experimental/memory_resource
    M libcxx/include/experimental/propagate_const
    M libcxx/include/experimental/simd
    M libcxx/include/ext/hash_map
    M libcxx/include/ext/hash_set
    M libcxx/include/forward_list
    M libcxx/include/fstream
    M libcxx/include/future
    M libcxx/include/ios
    M libcxx/include/latch
    M libcxx/include/list
    M libcxx/include/locale
    M libcxx/include/map
    M libcxx/include/optional
    M libcxx/include/regex
    M libcxx/include/scoped_allocator
    M libcxx/include/set
    M libcxx/include/shared_mutex
    M libcxx/include/stdexcept
    M libcxx/include/strstream
    M libcxx/include/thread
    M libcxx/include/tuple
    M libcxx/include/typeinfo
    M libcxx/include/unordered_map
    M libcxx/include/unordered_set
    M libcxx/include/variant
    M libcxx/include/vector
    M libcxx/test/tools/clang_tidy_checks/hide_from_abi.cpp

  Log Message:
  -----------
  [libc++] Add hide_from_abi check for classes

We already have a clang-tidy check for making sure that `_LIBCPP_HIDE_FROM_ABI` is on free functions. This patch extends this to class members. The places where we don't check for `_LIBCPP_HIDE_FROM_ABI` are classes for which we have an instantiation in the library.

Reviewed By: ldionne, Mordante, #libc

Spies: jplehr, mikhail.ramalho, sstefan1, libcxx-commits, krytarowski, miyuki, smeenai

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




More information about the All-commits mailing list