Fields

hardware None
os None

Parameters

Fields

NameValue

Parameters

NameValue
git_commit commit 06673a9e9b186a65f5eb60a59a4ee9afba6637d4
Author: Peng Liu <winner245@hotmail.com>
Date: Thu Jan 9 04:42:40 2025 -0500

[libc++] Uglify non-standard member typedef const_reference in bitset (#121620)

According to
[[template.bitset.general]](https://eel.is/c++draft/template.bitset.general),
`std::bitset` is supposed to have only
one (public) member typedef, `reference`. However, libc++'s
implementation of `std::bitset` offers more that that. Specifically, it
offers a public typedef `const_reference` and two private typedefs
`size_type` and `difference_type`. These non-standard member typedefs,
despite being private, can cause potential ambiguities in name lookup in
user-defined classes, as demonstrated in issue #121618.

Fixing the public member typedef `const_reference` is straightforward:
we can simply replace it with an `__ugly_name` such as
`__const_reference`. However, fixing the private member typedefs
`size_type` and `difference_type` is not so straightforward as they are
required by the `__bit_iterator` class and the corresponding algorithms
optimized for `__bit_iterator`s (e.g., `ranges::fill`).

This PR fixes the member typedef `const_reference` by using uglified
name for it. Further work will be undertaken to address `size_type` and
`difference_type`.

Follows up #80706, #111127, and #112843,
Filter

ldionne-old-macbook-results test results

Run Order Start Time Duration
Current 523220 2025-12-16T16:40:01 0:00:00
Previous 523339 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 5 0
Performance Improvements 3 0
Added Tests 0 18
Unchanged Tests 82 72
Total Tests 90

Performance Regressions - execution_time Δ Previous Current σ Δ (B) σ (B)
734_vpr_r 2.63% 15.296 15.697 - 0.00% -
729_abc_r 2.15% 18.589 18.988 - 0.00% -
710_omnetpp_r 1.54% 8.439 8.569 - 0.00% -
737_gmsh_r 1.25% 13.110 13.274 - 0.00% -
748_flightdm_r 1.05% 8.892 8.986 - 0.00% -

Performance Improvements - execution_time Δ Previous Current σ Δ (B) σ (B)
735_gem5_r -1.70% 13.713 13.480 - 0.00% -
707_ntest_r -1.61% 18.129 17.837 - 0.00% -
723_llvm_r -1.14% 11.563 11.431 - 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.073 -
707_ntest_r 17.837 -1.61%
709_cactus_r 19.703 -
710_omnetpp_r 8.569 1.54%
721_gcc_r 12.924 -
723_llvm_r 11.431 -1.14%
727_cppcheck_r 24.675 -
729_abc_r 18.988 2.15%
731_astcenc_r 10.087 -
734_vpr_r 15.697 2.63%
735_gem5_r 13.480 -1.70%
736_ocio_r 16.237 -
737_gmsh_r 13.274 1.25%
748_flightdm_r 8.986 1.05%
750_sealcrypto_r 18.326 -
753_ns3_r 10.420 -
766_femflow_r 12.826 -
767_nest_r 14.106 -
Geometric Mean 14.340 -