diff options
author | Peng Liu <winner245@hotmail.com> | 2025-03-19 11:58:02 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-03-19 11:58:02 -0400 |
commit | 029cb8aff1450ed6d69f671a5e5e3e226316b42a (patch) | |
tree | a6e24cdbe5207f77cd492cff38d48c13d211d8a7 /clang/lib/CodeGen/ModuleBuilder.cpp | |
parent | 1456eabca80d57ebd38b46e49ef3d25aace198ae (diff) | |
download | llvm-029cb8aff1450ed6d69f671a5e5e3e226316b42a.zip llvm-029cb8aff1450ed6d69f671a5e5e3e226316b42a.tar.gz llvm-029cb8aff1450ed6d69f671a5e5e3e226316b42a.tar.bz2 |
[libc++] Fix copy_backward for vector<bool> with small storage types (#131560)
This patch fixes an issue in libc++ where `std::copy_backward` and
`ranges::copy_backward` incorrectly copy `std::vector<bool>` with small
storage types (e.g., `uint8_t`, `uint16_t`). The problem arises from
flawed bit mask computations involving integral promotions and sign-bit
extension, leading to unintended zeroing of bits. This patch corrects
the bitwise operations to ensure correct bit-level copying.
Fixes #131718.
Diffstat (limited to 'clang/lib/CodeGen/ModuleBuilder.cpp')
0 files changed, 0 insertions, 0 deletions