Fields

hardware None
os None

Parameters

Fields

NameValue

Parameters

NameValue
git_commit commit a5b3d3a03f3291b1b62c7c25bc40b494660421cb
Author: Peng Liu <winner245@hotmail.com>
Date: Wed Mar 19 11:55:51 2025 -0400

[libc++] Fix {std, ranges}::copy for vector<bool> with small storage types (#131545)

The current implementation of `{std, ranges}::copy` fails to copy
`vector<bool>` correctly when the underlying storage type
(`__storage_type`) is smaller than `int`, such as `unsigned char`,
`unsigned short`, `uint8_t` and `uint16_t`. The root cause is that the
unsigned small storage type undergoes integer promotion to (signed)
`int`, which is then left and right shifted, leading to UB (before
C++20) and sign-bit extension (since C++20) respectively. As a result,
the underlying bit mask evaluations become incorrect, causing erroneous
copying behavior.

This patch resolves the issue by correcting the internal bitwise
operations, ensuring that `{std, ranges}::copy` operates correctly for
`vector<bool>` with any custom (unsigned) storage types.

Fixes #131692.
Filter

ldionne-old-macbook-results test results

Run Order Start Time Duration
Current 531223 2025-12-16T16:40:01 0:00:00
Previous 531221 2025-12-16T16:40:01 0:00:00
Baseline 485288 2025-12-16T16:40:01 0:00:00


Tests Summary

Status Group # # (B)
Performance Regressions 2 0
Performance Improvements 2 0
Added Tests 0 18
Unchanged Tests 86 72
Total Tests 90

Performance Regressions - execution_time Δ Previous Current σ Δ (B) σ (B)
727_cppcheck_r 2.28% 24.475 25.033 - 0.00% -
748_flightdm_r 1.01% 8.885 8.975 - 0.00% -

Performance Improvements - execution_time Δ Previous Current σ Δ (B) σ (B)
737_gmsh_r -1.73% 13.250 13.021 - 0.00% -
729_abc_r -1.63% 18.950 18.641 - 0.00% -

Added Tests - execution_time
706_stockfish_r
707_ntest_r
709_cactus_r
710_omnetpp_r
721_gcc_r
723_llvm_r
727_cppcheck_r
729_abc_r
731_astcenc_r
734_vpr_r
735_gem5_r
736_ocio_r
737_gmsh_r
748_flightdm_r
750_sealcrypto_r
753_ns3_r
766_femflow_r
767_nest_r


Report Time: 0.09s
Name Current %
706_stockfish_r 22.233 -
707_ntest_r 17.879 -
709_cactus_r 19.711 -
710_omnetpp_r 8.425 -
721_gcc_r 13.021 -
723_llvm_r 11.445 -
727_cppcheck_r 25.033 2.28%
729_abc_r 18.641 -1.63%
731_astcenc_r 10.026 -
734_vpr_r 15.321 -
735_gem5_r 13.907 -
736_ocio_r 16.133 -
737_gmsh_r 13.021 -1.73%
748_flightdm_r 8.975 1.01%
750_sealcrypto_r 18.324 -
753_ns3_r 10.592 -
766_femflow_r 12.771 -
767_nest_r 14.051 -
Geometric Mean 14.323 -