[all-commits] [llvm/llvm-project] cf9806: [libc++] Fix UB in bitwise logic of {std, ranges}:...

Peng Liu via All-commits all-commits at lists.llvm.org
Wed Feb 5 08:40:11 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: cf9806eb4da23b42702aa88784969520702dae00
      https://github.com/llvm/llvm-project/commit/cf9806eb4da23b42702aa88784969520702dae00
  Author: Peng Liu <winner245 at hotmail.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M libcxx/include/__algorithm/fill_n.h
    M libcxx/include/__bit_reference
    M libcxx/include/__fwd/bit_reference.h
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/fill.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/fill_n.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/ranges.fill.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/ranges.fill_n.pass.cpp
    A libcxx/test/support/sized_allocator.h
    M libcxx/utils/libcxx/test/params.py

  Log Message:
  -----------
  [libc++] Fix UB in bitwise logic of {std, ranges}::{fill, fill_n} algorithms (#122410)

This PR addresses an undefined behavior that arises when using the
`std::fill` and `std::fill_n` algorithms, as well as their ranges
counterparts `ranges::fill` and `ranges::fill_n`, with `vector<bool, Alloc>`
that utilizes a custom-sized allocator with small integral types.



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