Cover Letter Detail
Show a cover letter.
GET /api/covers/2226276/?format=api
{ "id": 2226276, "url": "http://patchwork.ozlabs.org/api/covers/2226276/?format=api", "web_url": "http://patchwork.ozlabs.org/project/gcc/cover/bmm.hhubh97i3e.gcc.gcc-TEST.redi.23.1.0@forge-stage.sourceware.org/", "project": { "id": 17, "url": "http://patchwork.ozlabs.org/api/projects/17/?format=api", "name": "GNU Compiler Collection", "link_name": "gcc", "list_id": "gcc-patches.gcc.gnu.org", "list_email": "gcc-patches@gcc.gnu.org", "web_url": null, "scm_url": null, "webscm_url": null, "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<bmm.hhubh97i3e.gcc.gcc-TEST.redi.23.1.0@forge-stage.sourceware.org>", "list_archive_url": null, "date": "2026-04-22T10:34:02", "name": "[v1,0/1] libstdc++: Fix invalid casts in unordered container merge functions", "submitter": { "id": 93210, "url": "http://patchwork.ozlabs.org/api/people/93210/?format=api", "name": "Jonathan Wakely via Sourceware Forge", "email": "forge-bot+redi@forge-stage.sourceware.org" }, "mbox": "http://patchwork.ozlabs.org/project/gcc/cover/bmm.hhubh97i3e.gcc.gcc-TEST.redi.23.1.0@forge-stage.sourceware.org/mbox/", "series": [ { "id": 500976, "url": "http://patchwork.ozlabs.org/api/series/500976/?format=api", "web_url": "http://patchwork.ozlabs.org/project/gcc/list/?series=500976", "date": "2026-04-22T10:34:03", "name": "libstdc++: Fix invalid casts in unordered container merge functions", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/500976/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/covers/2226276/comments/", "headers": { "Return-Path": "<gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "gcc-patches@gcc.gnu.org" ], "Delivered-To": [ "patchwork-incoming@legolas.ozlabs.org", "gcc-patches@gcc.gnu.org" ], "Authentication-Results": [ "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org\n (client-ip=2620:52:6:3111::32; helo=vm01.sourceware.org;\n envelope-from=gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org;\n receiver=patchwork.ozlabs.org)", "sourceware.org; dmarc=none (p=none dis=none)\n header.from=forge-stage.sourceware.org", "sourceware.org;\n spf=pass smtp.mailfrom=forge-stage.sourceware.org", "server2.sourceware.org;\n arc=none smtp.remote-ip=38.145.34.39" ], "Received": [ "from vm01.sourceware.org (vm01.sourceware.org\n [IPv6:2620:52:6:3111::32])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g0xBn6Jddz1y2d\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 21:02:25 +1000 (AEST)", "from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 0F41342DB173\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 11:02:24 +0000 (GMT)", "from forge-stage.sourceware.org (vm08.sourceware.org [38.145.34.39])\n by sourceware.org (Postfix) with ESMTPS id 6FD674423323\n for <gcc-patches@gcc.gnu.org>; Wed, 22 Apr 2026 10:34:54 +0000 (GMT)", "from forge-stage.sourceware.org (localhost [IPv6:::1])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256)\n (No client certificate requested)\n by forge-stage.sourceware.org (Postfix) with ESMTPS id 4A85F42B3A\n for <gcc-patches@gcc.gnu.org>; Wed, 22 Apr 2026 10:34:54 +0000 (UTC)" ], "DKIM-Filter": [ "OpenDKIM Filter v2.11.0 sourceware.org 0F41342DB173", "OpenDKIM Filter v2.11.0 sourceware.org 6FD674423323" ], "DMARC-Filter": "OpenDMARC Filter v1.4.2 sourceware.org 6FD674423323", "ARC-Filter": "OpenARC Filter v1.0.0 sourceware.org 6FD674423323", "ARC-Seal": "i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1776854094; cv=none;\n b=dDkyBtoASU272OPTJTUWi/z4OYGwGoOvAORYKLKbkP7TOAzPVf8LLkE372geF+KR79PpAIK0GAlP4IER2ZPVgTK3AFiebhn9jF0pHDToPCVglhOA4HHH284jx2HeFOlrEI3CzMy6/0R7iqFj2QuuSKj4rWX8ibcHF1S4vf+gYJA=", "ARC-Message-Signature": "i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1776854094; c=relaxed/simple;\n bh=r7mIKjLK/BAMUtgW8m0A/Qkey01dHVhS2LFOHshFOU4=;\n h=From:Date:Subject:MIME-Version:To:Message-ID;\n b=WKUTGux0tv3jT4xWphjzJaDN7DeTEzLvKUXowiAgbAJ5rPKPYh3x4HYiwsnulrGrc+aWQG+uCe4Z9U9IzlCWg1lecKiDdQjDHLlYOkKQ2GsRGwuICnxIpv3TSZtFky3ujPnKxQ9E9A/oq//9wD67rIYfT6ds/Wd1kNFvC136kY4=", "ARC-Authentication-Results": "i=1; server2.sourceware.org", "From": "Jonathan Wakely via Sourceware Forge\n <forge-bot+redi@forge-stage.sourceware.org>", "Date": "Wed, 22 Apr 2026 10:34:02 +0000", "Subject": "[PATCH v1 0/1] libstdc++: Fix invalid casts in unordered container\n merge functions", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=UTF-8", "Content-Transfer-Encoding": "8bit", "To": "gcc-patches mailing list <gcc-patches@gcc.gnu.org>", "Message-ID": "\n <bmm.hhubh97i3e.gcc.gcc-TEST.redi.23.1.0@forge-stage.sourceware.org>", "X-Mailer": "batrachomyomachia", "X-Requested-Reviewer": "fdumont", "X-Pull-Request-Organization": "gcc", "X-Pull-Request-Repository": "gcc-TEST", "X-Pull-Request": "https://forge.sourceware.org/gcc/gcc-TEST/pulls/23", "X-BeenThere": "gcc-patches@gcc.gnu.org", "X-Mailman-Version": "2.1.30", "Precedence": "list", "List-Id": "Gcc-patches mailing list <gcc-patches.gcc.gnu.org>", "List-Unsubscribe": "<https://gcc.gnu.org/mailman/options/gcc-patches>,\n <mailto:gcc-patches-request@gcc.gnu.org?subject=unsubscribe>", "List-Archive": "<https://gcc.gnu.org/pipermail/gcc-patches/>", "List-Post": "<mailto:gcc-patches@gcc.gnu.org>", "List-Help": "<mailto:gcc-patches-request@gcc.gnu.org?subject=help>", "List-Subscribe": "<https://gcc.gnu.org/mailman/listinfo/gcc-patches>,\n <mailto:gcc-patches-request@gcc.gnu.org?subject=subscribe>", "Reply-To": "gcc-patches mailing list <gcc-patches@gcc.gnu.org>, redi@gcc.gnu.org", "Errors-To": "gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org" }, "content": "Hi gcc-patches mailing list,\nJonathan Wakely via Sourceware Forge <forge-bot+redi@forge-stage.sourceware.org> has requested that the following forgejo pull request\nbe published on the mailing list.\n\nCreated on: 2024-11-14 16:40:23+00:00\nLatest update: 2025-08-13 03:23:33+00:00\nChanges: 1 changed files, 27 additions, 16 deletions\nHead revision: redi/gcc ref fix-hashtable-merge commit ce349808c89f628f8e01cdd58fb9f9de13788bca\nBase revision: gcc/gcc-TEST ref trunk commit f91e34644e66b2eb7f4930f17a30da9f49e7d4d2 r15-5254-gf91e34644e66b2\nMerge base: f91e34644e66b2eb7f4930f17a30da9f49e7d4d2\nFull diff url: https://forge.sourceware.org/gcc/gcc-TEST/pulls/23.diff\nDiscussion: https://forge.sourceware.org/gcc/gcc-TEST/pulls/23\nRequested Reviewers: fdumont\n\nFrançois pointed out that `static_cast<__node_ptr>(&_M_before_begin)` is\ninvalid, because `_M_before_begin` is only a node-base not a node.\n\nRefactor the new merge overloads to only cast when we know we have a\nvalid node.\n\nHe also pointed out some optimizations to allow reusing hash codes that\nmight be cached in the node. The `_M_src_hash_code` function already has\nthe right logic to decide when a cached hash code can be reused by a\ndifferent `_Hashtable` object.\n\n```\nlibstdc++-v3/ChangeLog:\n\n\t* include/bits/hashtable.h (_Hashtable::_M_src_hash_code):\n\tImprove comments.\n\t(_Hashtable::_M_merge_unique(_Hashtable&)): Use pointer_traits\n\tto get before-begin pointer. Only use static_cast on valid\n\tnodes, not the before-begin pointer. Reuse a hash code cached in\n\tthe node when possible.\n\t(_Hashtable::_M_merge_multi(_Hashtable&)): Likewise.\n```\n\n\nChanged files:\n- M: libstdc++-v3/include/bits/hashtable.h\n\n\nJonathan Wakely (1):\n libstdc++: Fix invalid casts in unordered container merge functions\n\n libstdc++-v3/include/bits/hashtable.h | 43 +++++++++++++++++----------\n 1 file changed, 27 insertions(+), 16 deletions(-)" }