[all-commits] [llvm/llvm-project] 245d66: [reland][libc] Remove UB specializations of type t...
Guillaume Chatelet via All-commits
all-commits at lists.llvm.org
Thu Mar 7 02:41:56 PST 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 245d669f1d1c3f66d0d3d8aa7cffa5ef0d7747ff
https://github.com/llvm/llvm-project/commit/245d669f1d1c3f66d0d3d8aa7cffa5ef0d7747ff
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-03-07 (Thu, 07 Mar 2024)
Changed paths:
M libc/src/__support/CMakeLists.txt
M libc/src/__support/CPP/bit.h
M libc/src/__support/UInt.h
M libc/src/__support/float_to_string.h
M libc/src/__support/integer_to_string.h
M libc/test/UnitTest/CMakeLists.txt
M libc/test/UnitTest/LibcTest.cpp
M libc/test/UnitTest/LibcTest.h
M libc/test/UnitTest/TestLogger.cpp
M libc/test/src/__support/CPP/bit_test.cpp
M libc/test/src/__support/FPUtil/fpbits_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
Log Message:
-----------
[reland][libc] Remove UB specializations of type traits for `BigInt` (#84299)
Note: This is a reland of #84035.
The standard specifies that it it UB to specialize the following traits:
- `std::is_integral`
- `std::is_unsigned`
- `std::make_unsigned`
- `std::make_signed`
This patch:
- Removes specializations for `BigInt`
- Transforms SFINAE for `bit.h` functions from template parameter to
return type (This makes specialization easier).
- Adds `BigInt` specialization for `bit.h` functions.
- Fixes code depending on previous specializations.
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