[all-commits] [llvm/llvm-project] 4acc3f: [reland][libc][NFC] split type_traits / utility in...

Guillaume Chatelet via All-commits all-commits at lists.llvm.org
Wed Sep 6 02:23:23 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4acc3ffbb0af5631bc7916aeff3570f448899647
      https://github.com/llvm/llvm-project/commit/4acc3ffbb0af5631bc7916aeff3570f448899647
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M libc/src/__support/CPP/functional.h
    M libc/src/__support/CPP/type_traits.h
    A libc/src/__support/CPP/type_traits/add_lvalue_reference.h
    A libc/src/__support/CPP/type_traits/add_pointer.h
    A libc/src/__support/CPP/type_traits/add_rvalue_reference.h
    A libc/src/__support/CPP/type_traits/bool_constant.h
    A libc/src/__support/CPP/type_traits/conditional.h
    A libc/src/__support/CPP/type_traits/decay.h
    A libc/src/__support/CPP/type_traits/enable_if.h
    A libc/src/__support/CPP/type_traits/false_type.h
    A libc/src/__support/CPP/type_traits/integral_constant.h
    A libc/src/__support/CPP/type_traits/is_arithmetic.h
    A libc/src/__support/CPP/type_traits/is_array.h
    A libc/src/__support/CPP/type_traits/is_base_of.h
    A libc/src/__support/CPP/type_traits/is_class.h
    A libc/src/__support/CPP/type_traits/is_const.h
    A libc/src/__support/CPP/type_traits/is_convertible.h
    A libc/src/__support/CPP/type_traits/is_destructible.h
    A libc/src/__support/CPP/type_traits/is_enum.h
    A libc/src/__support/CPP/type_traits/is_floating_point.h
    A libc/src/__support/CPP/type_traits/is_function.h
    A libc/src/__support/CPP/type_traits/is_integral.h
    A libc/src/__support/CPP/type_traits/is_lvalue_reference.h
    A libc/src/__support/CPP/type_traits/is_null_pointer.h
    A libc/src/__support/CPP/type_traits/is_pointer.h
    A libc/src/__support/CPP/type_traits/is_reference.h
    A libc/src/__support/CPP/type_traits/is_rvalue_reference.h
    A libc/src/__support/CPP/type_traits/is_same.h
    A libc/src/__support/CPP/type_traits/is_signed.h
    A libc/src/__support/CPP/type_traits/is_trivially_constructible.h
    A libc/src/__support/CPP/type_traits/is_trivially_copyable.h
    A libc/src/__support/CPP/type_traits/is_trivially_destructible.h
    A libc/src/__support/CPP/type_traits/is_union.h
    A libc/src/__support/CPP/type_traits/is_unsigned.h
    A libc/src/__support/CPP/type_traits/is_void.h
    A libc/src/__support/CPP/type_traits/make_signed.h
    A libc/src/__support/CPP/type_traits/make_unsigned.h
    A libc/src/__support/CPP/type_traits/remove_all_extents.h
    A libc/src/__support/CPP/type_traits/remove_cv.h
    A libc/src/__support/CPP/type_traits/remove_cvref.h
    A libc/src/__support/CPP/type_traits/remove_extent.h
    A libc/src/__support/CPP/type_traits/remove_reference.h
    A libc/src/__support/CPP/type_traits/true_type.h
    A libc/src/__support/CPP/type_traits/type_identity.h
    A libc/src/__support/CPP/type_traits/void_t.h
    M libc/src/__support/CPP/utility.h
    A libc/src/__support/CPP/utility/declval.h
    A libc/src/__support/CPP/utility/forward.h
    A libc/src/__support/CPP/utility/integer_sequence.h
    A libc/src/__support/CPP/utility/move.h
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [reland][libc][NFC] split type_traits / utility in separate files (#65314)

`type_traits` and `utility` refer to each other in their
implementations. Also `type_traits` starts to become too big to be
manageable. This PR splits each function into individual files. FTR this
is [how libcxx handles large headers as
well](https://github.com/llvm/llvm-project/tree/main/libcxx/include/__type_traits).

The reland adds two missing functions : is_destructible_v and is_reference_v




More information about the All-commits mailing list