Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/806735/?format=api
{ "id": 806735, "url": "http://patchwork.ozlabs.org/api/patches/806735/?format=api", "web_url": "http://patchwork.ozlabs.org/project/gcc/patch/4026eacd-cb49-e756-c855-627cd5a40206@gmail.com/", "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": "<4026eacd-cb49-e756-c855-627cd5a40206@gmail.com>", "list_archive_url": null, "date": "2017-08-28T19:12:45", "name": "Rb_tree constructor optimization", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "e6d185cd7858f6bf4a62272ea67c4f6dc8be9980", "submitter": { "id": 9231, "url": "http://patchwork.ozlabs.org/api/people/9231/?format=api", "name": "François Dumont", "email": "frs.dumont@gmail.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/gcc/patch/4026eacd-cb49-e756-c855-627cd5a40206@gmail.com/mbox/", "series": [ { "id": 245, "url": "http://patchwork.ozlabs.org/api/series/245/?format=api", "web_url": "http://patchwork.ozlabs.org/project/gcc/list/?series=245", "date": "2017-08-28T19:12:45", "name": "Rb_tree constructor optimization", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/245/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/806735/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/806735/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<gcc-patches-return-461047-incoming=patchwork.ozlabs.org@gcc.gnu.org>", "X-Original-To": "incoming@patchwork.ozlabs.org", "Delivered-To": [ "patchwork-incoming@bilbo.ozlabs.org", "mailing list gcc-patches@gcc.gnu.org" ], "Authentication-Results": [ "ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=gcc.gnu.org\n\t(client-ip=209.132.180.131; helo=sourceware.org;\n\tenvelope-from=gcc-patches-return-461047-incoming=patchwork.ozlabs.org@gcc.gnu.org;\n\treceiver=<UNKNOWN>)", "ozlabs.org; dkim=pass (1024-bit key;\n\tunprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org\n\theader.b=\"J95B/Aje\"; dkim-atps=neutral", "sourceware.org; auth=none" ], "Received": [ "from sourceware.org (server1.sourceware.org [209.132.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xh1d95lHWz9sP3\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue, 29 Aug 2017 05:13:16 +1000 (AEST)", "(qmail 91533 invoked by alias); 28 Aug 2017 19:13:01 -0000", "(qmail 91505 invoked by uid 89); 28 Aug 2017 19:13:00 -0000", "from mail-wm0-f53.google.com (HELO mail-wm0-f53.google.com)\n\t(74.125.82.53) by sourceware.org\n\t(qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP;\n\tMon, 28 Aug 2017 19:12:50 +0000", "by mail-wm0-f53.google.com with SMTP id t201so9350721wmt.1;\n\tMon, 28 Aug 2017 12:12:49 -0700 (PDT)", "from [192.168.0.23] (arf62-1-82-237-250-248.fbx.proxad.net.\n\t[82.237.250.248]) by smtp.googlemail.com with ESMTPSA id\n\to98sm1353821wrb.30.2017.08.28.12.12.46 (version=TLS1_2\n\tcipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tMon, 28 Aug 2017 12:12:47 -0700 (PDT)" ], "DomainKey-Signature": "a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id\n\t:list-unsubscribe:list-archive:list-post:list-help:sender:from\n\t:subject:to:message-id:date:mime-version:content-type; q=dns; s=\n\tdefault; b=SxeHDptqYs2ZP4N84Vw+oUPeB81ZhPSWnBTMA+mEy3gEkCWlbueAP\n\tMlYE6eAagXGRZbPX/Q+cTVeAxjstC19j7EUQO6IP2KIMh57HJRnuZDStmRbTqgKo\n\tyZvWFPawbQRwvWCiFeOufeM8OIZYaQeaLBTBBcoMecmCRs1JvI9c+k=", "DKIM-Signature": "v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id\n\t:list-unsubscribe:list-archive:list-post:list-help:sender:from\n\t:subject:to:message-id:date:mime-version:content-type; s=\n\tdefault; bh=R+WpsjHyjtK8CprXJ4ihg2ZuPdo=; b=J95B/AjeX8e/Q3Yz/Jwu\n\tLh1PG77g6tBvICuK0mizlxEyLaFOdEOKXqfriAH1TQyHy6h6cnG1yFUtdZIGbaj6\n\tb1R5IbVrSttL1BL04ZbfVYXFbc12pQvrJDRvC2AohiP6+dO6ONyUM7ToqY2/Pmp/\n\tUfRJ9LGKdcG5RP/+Bfh92ME=", "Mailing-List": "contact gcc-patches-help@gcc.gnu.org; run by ezmlm", "Precedence": "bulk", "List-Id": "<gcc-patches.gcc.gnu.org>", "List-Unsubscribe": "<mailto:gcc-patches-unsubscribe-incoming=patchwork.ozlabs.org@gcc.gnu.org>", "List-Archive": "<http://gcc.gnu.org/ml/gcc-patches/>", "List-Post": "<mailto:gcc-patches@gcc.gnu.org>", "List-Help": "<mailto:gcc-patches-help@gcc.gnu.org>", "Sender": "gcc-patches-owner@gcc.gnu.org", "X-Virus-Found": "No", "X-Spam-SWARE-Status": "No, score=-24.5 required=5.0 tests=AWL, BAYES_00,\n\tFREEMAIL_FROM, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2,\n\tGIT_PATCH_3, RCVD_IN_DNSWL_NONE, RCVD_IN_SORBS_SPAM,\n\tSPF_PASS autolearn=ham version=3.3.2 spammy=7046", "X-Spam-User": "qpsmtpd, 2 recipients", "X-HELO": "mail-wm0-f53.google.com", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net;\n\ts=20161025;\n\th=x-gm-message-state:from:subject:to:message-id:date:user-agent\n\t:mime-version:content-language;\n\tbh=Gqo1RyC3Qu6CAXbzlv+qlOtH58PJps/W8ZkVFy0Lx90=;\n\tb=pl8YfJPW1XQfcc/RqQjUNxuElo/+E5TeK+jVvVjqxtEKHIHkW8AjF4o7hMsno819UT\n\tsvrsG2q+R9rLQGLvvqimUtVd8LAQjsgfftMSxj6qJYBvVVBUFrQEjWLW3enVc8lSEhbk\n\tuu6Aphj2zRZJ+pB/u1hMb+rIueZNsImWU97//j5ATdT4JchK+9L2xEPiqMGXyZtvN4rw\n\tLRI92pHMzsSCy+3zpkLANPY9sYE4G2lzRBoQRR4uvlj4uulChkxpgdQqUZkw9MxyAX1q\n\t+wJ3Yn+ZQQABFLtl3EzPyRIZH3gIY0MqLX5uLy4FicwfWM/fCMlUcaHTVt5Vev/SKafR\n\tRFQQ==", "X-Gm-Message-State": "AHYfb5iK3iQVmzta3nqGo2zb/b9LEnMiwUoE1wNyDt5o8PYqJhR3lC9W\tpB+YZi7HSt1qV4a0", "X-Received": "by 10.28.191.22 with SMTP id p22mr909333wmf.48.1503947567694;\n\tMon, 28 Aug 2017 12:12:47 -0700 (PDT)", "From": "=?utf-8?q?Fran=C3=A7ois_Dumont?= <frs.dumont@gmail.com>", "Subject": "Rb_tree constructor optimization", "To": "\"libstdc++@gcc.gnu.org\" <libstdc++@gcc.gnu.org>,\n\tgcc-patches <gcc-patches@gcc.gnu.org>", "Message-ID": "<4026eacd-cb49-e756-c855-627cd5a40206@gmail.com>", "Date": "Mon, 28 Aug 2017 21:12:45 +0200", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64;\n\trv:52.0) Gecko/20100101 Thunderbird/52.2.1", "MIME-Version": "1.0", "Content-Type": "multipart/mixed;\n\tboundary=\"------------DF6AF348BEA0B09A0D35618E\"" }, "content": "Hi\n\n Here is the always equal allocator optimization for associative \ncontainers.\n\n Tested under Linux x86_64.\n\n * include/bits/stl_tree.h\n (_Rb_tree_impl(_Rb_tree_impl&&, _Node_allocator&&)): New.\n (_Rb_tree(_Rb_tree&&, _Node_allocator&&, std::true_type)): New.\n (_Rb_tree(_Rb_tree&&, _Node_allocator&&, std::false_type)): Likewise.\n (_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Adapt, use latters.\n\n Ok to apply ?\n\nFrançois", "diff": "diff --git a/libstdc++-v3/include/bits/stl_tree.h b/libstdc++-v3/include/bits/stl_tree.h\nindex c2417f1..f7d34e3 100644\n--- a/libstdc++-v3/include/bits/stl_tree.h\n+++ b/libstdc++-v3/include/bits/stl_tree.h\n@@ -704,6 +704,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n #else\n \t _Rb_tree_impl(_Rb_tree_impl&&) = default;\n \n+\t _Rb_tree_impl(_Rb_tree_impl&& __x, _Node_allocator&& __a) noexcept\n+\t : _Node_allocator(std::move(__a)),\n+\t _Base_key_compare(std::move(__x)),\n+\t _Rb_tree_header(std::move(__x))\n+\t { }\n+\n \t _Rb_tree_impl(const _Key_compare& __comp, _Node_allocator&& __a)\n \t : _Node_allocator(std::move(__a)), _Base_key_compare(__comp)\n \t { }\n@@ -947,7 +953,18 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n : _Rb_tree(std::move(__x), _Node_allocator(__a))\n { }\n \n- _Rb_tree(_Rb_tree&& __x, _Node_allocator&& __a);\n+ private:\n+ _Rb_tree(_Rb_tree&& __x, _Node_allocator&& __a, std::true_type) noexcept\n+ : _M_impl(std::move(__x._M_impl), std::move(__a))\n+ { }\n+\n+ _Rb_tree(_Rb_tree&& __x, _Node_allocator&& __a, std::false_type);\n+\n+ public:\n+ _Rb_tree(_Rb_tree&& __x, _Node_allocator&& __a)\n+ : _Rb_tree(std::move(__x), std::move(__a),\n+\t\t typename _Alloc_traits::is_always_equal{})\n+ { }\n #endif\n \n ~_Rb_tree() _GLIBCXX_NOEXCEPT\n@@ -1591,12 +1608,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n template<typename _Key, typename _Val, typename _KeyOfValue,\n \t typename _Compare, typename _Alloc>\n _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::\n- _Rb_tree(_Rb_tree&& __x, _Node_allocator&& __a)\n+ _Rb_tree(_Rb_tree&& __x, _Node_allocator&& __a, std::false_type __eq)\n : _M_impl(__x._M_impl._M_key_compare, std::move(__a))\n {\n- using __eq = typename _Alloc_traits::is_always_equal;\n if (__x._M_root() != nullptr)\n-\t_M_move_data(__x, __eq());\n+\t_M_move_data(__x, __eq);\n }\n \n template<typename _Key, typename _Val, typename _KeyOfValue,\n\n", "prefixes": [] }