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 523050 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 3 0
Performance Improvements 5 0
Added Tests 0 18
Unchanged Tests 82 72
Total Tests 90

Performance Regressions - execution_time Δ Previous Current σ Δ (B) σ (B)
737_gmsh_r 2.18% 12.991 13.274 - 0.00% -
729_abc_r 1.90% 18.634 18.988 - 0.00% -
734_vpr_r 1.11% 15.524 15.697 - 0.00% -

Performance Improvements - execution_time Δ Previous Current σ Δ (B) σ (B)
727_cppcheck_r -11.18% 27.781 24.675 - 0.00% -
735_gem5_r -1.83% 13.731 13.480 - 0.00% -
753_ns3_r -1.77% 10.607 10.420 - 0.00% -
707_ntest_r -1.64% 18.134 17.837 - 0.00% -
767_nest_r -1.06% 14.258 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.59s
Name Current %
706_stockfish_r 22.073 -
707_ntest_r 17.837 -1.64%
709_cactus_r 19.703 -
710_omnetpp_r 8.569 -
721_gcc_r 12.924 -
723_llvm_r 11.431 -
727_cppcheck_r 24.675 -11.18%
729_abc_r 18.988 1.90%
731_astcenc_r 10.087 -
734_vpr_r 15.697 1.11%
735_gem5_r 13.480 -1.83%
736_ocio_r 16.237 -
737_gmsh_r 13.274 2.18%
748_flightdm_r 8.986 -
750_sealcrypto_r 18.326 -
753_ns3_r 10.420 -1.77%
766_femflow_r 12.826 -
767_nest_r 14.106 -1.06%
Geometric Mean 14.340 -