Skip to content

Commit

Permalink
Merge bitcoin/bitcoin#31493: refactor: Use immediate lambda to work a…
Browse files Browse the repository at this point in the history
…round GCC bug 117966

fa9e048 refactor: Use immediate lambda to work around GCC bug 117966 (MarcoFalke)

Pull request description:

  Currently the libstdc++ debug mode can only be used with version 11, or 15 (and later), due to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117966

  This seems restrictive.

  Add a temporary workaround for now, which makes the global (temporary) `std::span` local to a lambda.

ACKs for top commit:
  theuni:
    utACK fa9e048
  hebasto:
    ACK fa9e048, tested on Ubuntu 24.10.
  vasild:
    ACK fa9e048

Tree-SHA512: 0cc54f089f329592f7a92a6f938b7de46c92d5362615310748225a42789e858e871432721e3101271b00871d523af5fbaadba2f52433fe79e928b1d1253931f6
  • Loading branch information
ryanofsky committed Dec 17, 2024
2 parents a60d570 + fa9e048 commit 477b357
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion src/pubkey.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,10 @@ int ecdsa_signature_parse_der_lax(secp256k1_ecdsa_signature* sig, const unsigned
* For an example script for calculating H, refer to the unit tests in
* ./test/functional/test_framework/crypto/secp256k1.py
*/
constexpr XOnlyPubKey XOnlyPubKey::NUMS_H{"50929b74c1a04954b78b4b6035e97a5e078a5a0f28ec96d547bfee9ace803ac0"_hex_u8};
constexpr XOnlyPubKey XOnlyPubKey::NUMS_H{
// Use immediate lambda to work around GCC-14 bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117966
[]() consteval { return XOnlyPubKey{"50929b74c1a04954b78b4b6035e97a5e078a5a0f28ec96d547bfee9ace803ac0"_hex_u8}; }(),
};

std::vector<CKeyID> XOnlyPubKey::GetKeyIDs() const
{
Expand Down

0 comments on commit 477b357

Please sign in to comment.