type-map: Work around LLVM 22 “out of bounds index” error #247

pull ryanofsky wants to merge 1 commits into bitcoin-core:master from ryanofsky:pr/lindex changing 1 files +30 −1
  1. ryanofsky commented at 10:20 pm on March 1, 2026: collaborator

    This workaround is needed to fix “parameter pack may not be accessed at an out of bounds index” compile errors in https://github.com/bitcoin/bitcoin/pull/29409 due in sanitizer jobs due to https://github.com/bitcoin/bitcoin/pull/34660 which updates sanitizers to use LLVM 22 instead of LLVM 21:

    https://github.com/bitcoin/bitcoin/actions/runs/22501264518/job/65188721708?pr=29409 https://github.com/bitcoin/bitcoin/actions/runs/22501264518/job/65188721733?pr=29409

    0/cxx_build/include/c++/v1/__fwd/tuple.h:40:52: error: a parameter pack may not be accessed at an out of bounds index
    1   40 |   using type _LIBCPP_NODEBUG = __type_pack_element<_Ip, _Tp...>;
    2      |                                                    ^
    3/cxx_build/include/c++/v1/__utility/try_key_extraction.h:82:67: note: in instantiation of template class 'std::tuple_element<0, std::tuple<>>' requested here
    4   82 |                             is_same<__remove_const_ref_t<typename tuple_element<0, _Tuple1>::type>, _KeyT>::value,
    5      |                                                                   ^
    

    The upstream LLVM bug is https://github.com/llvm/llvm-project/issues/167709 and fix is https://github.com/llvm/llvm-project/pull/183614

  2. type-map: Work around LLVM 22 "out of bounds index" error
    This workaround is needed to fix "parameter pack may not be accessed at an out
    of bounds index" compile errors in
    https://github.com/bitcoin/bitcoin/pull/29409 due in sanitizer jobs due to
    https://github.com/bitcoin/bitcoin/pull/34660 which updates sanitizers to use
    LLVM 22 instead of LLVM 21:
    
    https://github.com/bitcoin/bitcoin/actions/runs/22501264518/job/65188721708?pr=29409
    https://github.com/bitcoin/bitcoin/actions/runs/22501264518/job/65188721733?pr=29409
    
    ```c++
    /cxx_build/include/c++/v1/__fwd/tuple.h:40:52: error: a parameter pack may not be accessed at an out of bounds index
       40 |   using type _LIBCPP_NODEBUG = __type_pack_element<_Ip, _Tp...>;
          |                                                    ^
    /cxx_build/include/c++/v1/__utility/try_key_extraction.h:82:67: note: in instantiation of template class 'std::tuple_element<0, std::tuple<>>' requested here
       82 |                             is_same<__remove_const_ref_t<typename tuple_element<0, _Tuple1>::type>, _KeyT>::value,
          |                                                                   ^
    ```
    
    The upstream LLVM bug is https://github.com/llvm/llvm-project/issues/167709 and
    fix is https://github.com/llvm/llvm-project/pull/183614
    f61af48721
  3. DrahtBot commented at 10:21 pm on March 1, 2026: none

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    Reviews

    See the guideline for information on the review process.

    Type Reviewers
    ACK hebasto

    If your review is incorrectly listed, please copy-paste <!–meta-tag:bot-skip–> into the comment that the bot should ignore.

  4. hebasto approved
  5. hebasto commented at 11:46 am on March 2, 2026: member
    ACK f61af487217a3e3bd9c0aaddc7b66e35eb97c6e1, I have reviewed the code and it looks OK.

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin-core/libmultiprocess. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-03-09 11:30 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me