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 523180 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 6 0
Performance Improvements 3 0
Added Tests 0 18
Unchanged Tests 81 72
Total Tests 90

Performance Regressions - execution_time Δ Previous Current σ Δ (B) σ (B)
729_abc_r 1.63% 18.683 18.988 - 0.00% -
727_cppcheck_r 1.42% 24.330 24.675 - 0.00% -
753_ns3_r 1.33% 10.283 10.420 - 0.00% -
737_gmsh_r 1.31% 13.102 13.274 - 0.00% -
734_vpr_r 1.31% 15.494 15.697 - 0.00% -
748_flightdm_r 1.20% 8.880 8.986 - 0.00% -

Performance Improvements - execution_time Δ Previous Current σ Δ (B) σ (B)
735_gem5_r -2.91% 13.883 13.480 - 0.00% -
710_omnetpp_r -2.50% 8.789 8.569 - 0.00% -
767_nest_r -1.15% 14.271 14.106 - 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.18s
Name Current %
706_stockfish_r 22.073 -
707_ntest_r 17.837 -
709_cactus_r 19.703 -
710_omnetpp_r 8.569 -2.50%
721_gcc_r 12.924 -
723_llvm_r 11.431 -
727_cppcheck_r 24.675 1.42%
729_abc_r 18.988 1.63%
731_astcenc_r 10.087 -
734_vpr_r 15.697 1.31%
735_gem5_r 13.480 -2.91%
736_ocio_r 16.237 -
737_gmsh_r 13.274 1.31%
748_flightdm_r 8.986 1.20%
750_sealcrypto_r 18.326 -
753_ns3_r 10.420 1.33%
766_femflow_r 12.826 -
767_nest_r 14.106 -1.15%
Geometric Mean 14.340 -