[all-commits] [llvm/llvm-project] 3c5643: [libc++] Refactor signed/unsigned integer traits (...

Nikolas Klauser via All-commits all-commits at lists.llvm.org
Wed Jun 11 05:31:36 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 3c56437eafee95f368feb20d28b74c29504b833d
      https://github.com/llvm/llvm-project/commit/3c56437eafee95f368feb20d28b74c29504b833d
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-06-11 (Wed, 11 Jun 2025)

  Changed paths:
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__bit/bit_ceil.h
    M libcxx/include/__bit/bit_floor.h
    M libcxx/include/__bit/bit_log2.h
    M libcxx/include/__bit/bit_width.h
    M libcxx/include/__bit/countl.h
    M libcxx/include/__bit/countr.h
    M libcxx/include/__bit/has_single_bit.h
    M libcxx/include/__bit/popcount.h
    M libcxx/include/__bit/rotate.h
    M libcxx/include/__concepts/arithmetic.h
    M libcxx/include/__format/format_arg_store.h
    M libcxx/include/__mdspan/extents.h
    M libcxx/include/__numeric/saturation_arithmetic.h
    A libcxx/include/__type_traits/integer_traits.h
    R libcxx/include/__type_traits/is_signed_integer.h
    R libcxx/include/__type_traits/is_unsigned_integer.h
    M libcxx/include/__utility/cmp.h
    M libcxx/include/module.modulemap.in
    M libcxx/test/libcxx/concepts/concepts.arithmetic/__libcpp_integer.compile.pass.cpp
    M libcxx/test/libcxx/concepts/concepts.arithmetic/__libcpp_signed_integer.compile.pass.cpp
    M libcxx/test/libcxx/concepts/concepts.arithmetic/__libcpp_unsigned_integer.compile.pass.cpp

  Log Message:
  -----------
  [libc++] Refactor signed/unsigned integer traits (#142750)

This patch does a few things:
- `__libcpp_is_signed_integer` and `__libcpp_is_unsigned_integer` are
refactored to be variable templates instead of class templates.
- the two traits are merged into a single header
`<__type_traits/integer_traits.h>`.
- `__libcpp_signed_integer`, `__libcpp_unsigned_integer` and
`__libcpp_integer` are moved into the same header.
- The above mentioned concepts are renamed to `__signed_integer`,
`__unsigned_integer` and `__signed_or_unsigned_integer` respectively.



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