From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29388 invoked by alias); 11 Jun 2011 16:05:26 -0000 Received: (qmail 29367 invoked by uid 22791); 11 Jun 2011 16:05:23 -0000 X-SWARE-Spam-Status: No, hits=-2.4 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,RFC_ABUSE_POST X-Spam-Check-By: sourceware.org Received: from mail-px0-f176.google.com (HELO mail-px0-f176.google.com) (209.85.212.176) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sat, 11 Jun 2011 16:05:08 +0000 Received: by pxi11 with SMTP id 11so1862629pxi.21 for ; Sat, 11 Jun 2011 09:05:07 -0700 (PDT) MIME-Version: 1.0 Received: by 10.143.20.35 with SMTP id x35mr16058wfi.151.1307808307483; Sat, 11 Jun 2011 09:05:07 -0700 (PDT) Received: by 10.143.168.18 with HTTP; Sat, 11 Jun 2011 09:05:07 -0700 (PDT) In-Reply-To: References: Date: Sat, 11 Jun 2011 16:15:00 -0000 Message-ID: Subject: Re: _ExtPtr_allocator From: Jonathan Wakely To: Bob Walters Cc: "libstdc++" , gcc-patches Content-Type: multipart/mixed; boundary=00504502c6d39a141604a571d9a7 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2011-06/txt/msg00918.txt.bz2 --00504502c6d39a141604a571d9a7 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-length: 1046 On 10 June 2011 22:06, Jonathan Wakely wrote: > > * overload construct and destroy so both the old- and new-style > signatures are present. > > =A0 =A0 =A0template > =A0 =A0 =A0 =A0void > =A0 =A0 =A0 =A0construct(pointer __p, _Args&&... __args) > =A0 =A0 =A0 =A0{ construct(__p.get(), std::forward<_Args>(__args)...); } > > =A0 =A0 =A0void destroy(pointer __p) > =A0 =A0 =A0{ destroy(__p.get()); } Here's a patch implementing this option along with some tests to use the ExtPtr_allocator in C++0x mode Those tests fail without the patch so I'm committing this so that ExtPtr_allocator isn't completely broken in C++0x mode. 2011-06-11 Jonathan Wakely * include/ext/extptr_allocator.h (construct, destroy): Fix for C++0x mode by overloading to take allocator's pointer type. * testsuite/23_containers/vector/ext_pointer/types/2.cc: New. * testsuite/23_containers/vector/ext_pointer/explicit_instantiation/ 2.cc: New. Tested x86_64-linux, committed to trunk. --00504502c6d39a141604a571d9a7 Content-Type: text/plain; charset=US-ASCII; name="extptr_alloc.txt" Content-Disposition: attachment; filename="extptr_alloc.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gosr8kf70 Content-length: 5791 SW5kZXg6IGluY2x1ZGUvZXh0L2V4dHB0cl9hbGxvY2F0b3IuaAo9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLSBpbmNsdWRlL2V4dC9leHRwdHJfYWxsb2Nh dG9yLmgJKHJldmlzaW9uIDE3NDkzMSkKKysrIGluY2x1ZGUvZXh0L2V4dHB0 cl9hbGxvY2F0b3IuaAkod29ya2luZyBjb3B5KQpAQCAtMTA3LDEwICsxMDcs MTkgQEAgX0dMSUJDWFhfQkVHSU5fTkFNRVNQQUNFX1ZFUlNJT04KICAgICAg ICAgY29uc3RydWN0KF9VcCogX19wLCBfQXJncyYmLi4uIF9fYXJncykKIAl7 IDo6bmV3KCh2b2lkICopX19wKSBfVXAoc3RkOjpmb3J3YXJkPF9BcmdzPihf X2FyZ3MpLi4uKTsgfQogCisgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBf QXJncz4KKyAgICAgICAgdm9pZAorICAgICAgICBjb25zdHJ1Y3QocG9pbnRl ciBfX3AsIF9BcmdzJiYuLi4gX19hcmdzKQorCXsgY29uc3RydWN0KF9fcC5n ZXQoKSwgc3RkOjpmb3J3YXJkPF9BcmdzPihfX2FyZ3MpLi4uKTsgfQorCiAg ICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBfVXA+CiAgICAgICAgIHZvaWQgCiAg ICAgICAgIGRlc3Ryb3koX1VwKiBfX3ApCiAgICAgICAgIHsgX19wLT5+X1Vw KCk7IH0KKworICAgICAgdm9pZCBkZXN0cm95KHBvaW50ZXIgX19wKQorICAg ICAgeyBkZXN0cm95KF9fcC5nZXQoKSk7IH0KKwogI2Vsc2UKIAogICAgICAg dm9pZCBjb25zdHJ1Y3QocG9pbnRlciBfX3AsIGNvbnN0IF9UcCYgX192YWwp CkluZGV4OiB0ZXN0c3VpdGUvMjNfY29udGFpbmVycy92ZWN0b3IvZXh0X3Bv aW50ZXIvdHlwZXMvMi5jYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSB0 ZXN0c3VpdGUvMjNfY29udGFpbmVycy92ZWN0b3IvZXh0X3BvaW50ZXIvdHlw ZXMvMi5jYwkocmV2aXNpb24gMCkKKysrIHRlc3RzdWl0ZS8yM19jb250YWlu ZXJzL3ZlY3Rvci9leHRfcG9pbnRlci90eXBlcy8yLmNjCShyZXZpc2lvbiAw KQpAQCAtMCwwICsxLDYzIEBACisvLyBUZXN0IGZvciBDb250YWluZXIgdXNp bmcgbm9uLXN0YW5kYXJkIHBvaW50ZXIgdHlwZXMuCisKKy8vIENvcHlyaWdo dCAoQykgMjAxMQorLy8gRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu CisvLworLy8gVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEdOVSBJU08gQysr IExpYnJhcnkuICBUaGlzIGxpYnJhcnkgaXMgZnJlZQorLy8gc29mdHdhcmU7 IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5k ZXIgdGhlCisvLyB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZQorLy8gRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzLCBvciAoYXQgeW91ciBvcHRp b24pCisvLyBhbnkgbGF0ZXIgdmVyc2lvbi4KKworLy8gVGhpcyBsaWJyYXJ5 IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1 c2VmdWwsCisvLyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorLy8gTUVSQ0hBTlRBQklM SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl IHRoZQorLy8gR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg ZGV0YWlscy4KKworLy8gWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w eSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcKKy8v IHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuICBJ ZiBub3Qgc2VlCisvLyA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4u CisKKworLy8geyBkZy1vcHRpb25zICItc3RkPWdudSsrMHgiIH0KKworLy8g VGhpcyBpcyBhIGNvcHkgb2YgdmVjdG9yL3R5cGVzLzEuY2Mgd2l0aCBhbHRl cmVkIGFsbG9jYXRvci4KKy8vIFRoZSBvcGVyYXRvcisoKXMgaW4gdGhpcyB0 ZXN0IGluaXRpYWxseSBmYWlsZWQgdGhlIHRlc3QgLQorLy8gdGhleSBzdHJl c3MgdGhlIGFjY3VyYXRlIHJlY29nbml0aW9uLCBieSB0aGUgY29tcGlsZXIs CisvLyBvZiBfUG9pbnRlcl9hZGFwdGVyJ3Mgb3duIHBvaW50ZXIgYXJpdGht ZXRpYyBmdW5jdGlvbnMsCisvLyB3aGljaCBoYXZlIHRvIG1hdGNoIHBlcmZl Y3RseSBvbiB0aGUgaW50IHR5cGUgdG8gZ2V0CisvLyBjaG9zZW4gYnkgdGhl IGNvbXBpbGVyIHdoZW4gaXQgc2VlczogX1BvaW50ZXJfYWRhcHRlcjxUPiAr IGludCwgZXRjLgorCisjaW5jbHVkZSA8dmVjdG9yPgorI2luY2x1ZGUgPGV4 dC9leHRwdHJfYWxsb2NhdG9yLmg+CisKK25hbWVzcGFjZSBOCit7CisgIHN0 cnVjdCBYIHsgfTsKKworICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgorICAgIFgg b3BlcmF0b3IrKFQsIHN0ZDo6c2l6ZV90KQorICAgIHsgcmV0dXJuIFgoKTsg fQorCisgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CisgICAgWCBvcGVyYXRvci0o VCwgVCkKKyAgICB7IHJldHVybiBYKCk7IH0KK30KKworaW50IG1haW4oKQor eworICBzdGQ6OnZlY3RvcjxOOjpYLCBfX2dudV9jeHg6Ol9FeHRQdHJfYWxs b2NhdG9yPE46Olg+ID4gdig1KTsKKyAgY29uc3Qgc3RkOjp2ZWN0b3I8Tjo6 WCwgX19nbnVfY3h4OjpfRXh0UHRyX2FsbG9jYXRvcjxOOjpYPiA+IHcoMSk7 CisKKyAgdlswXTsKKyAgd1swXTsKKyAgdi5zaXplKCk7CisgIHYuY2FwYWNp dHkoKTsKKyAgdi5yZXNpemUoMSk7CisgIHYuaW5zZXJ0KHYuYmVnaW4oKSwg Tjo6WCgpKTsKKyAgdi5pbnNlcnQodi5iZWdpbigpLCAxLCBOOjpYKCkpOwor ICB2Lmluc2VydCh2LmJlZ2luKCksIHcuYmVnaW4oKSwgdy5lbmQoKSk7Cisg IHYgPSB3OworCisgIHJldHVybiAwOworfQpJbmRleDogdGVzdHN1aXRlLzIz X2NvbnRhaW5lcnMvdmVjdG9yL2V4dF9wb2ludGVyL2V4cGxpY2l0X2luc3Rh bnRpYXRpb24vMi5jYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSB0ZXN0 c3VpdGUvMjNfY29udGFpbmVycy92ZWN0b3IvZXh0X3BvaW50ZXIvZXhwbGlj aXRfaW5zdGFudGlhdGlvbi8yLmNjCShyZXZpc2lvbiAwKQorKysgdGVzdHN1 aXRlLzIzX2NvbnRhaW5lcnMvdmVjdG9yL2V4dF9wb2ludGVyL2V4cGxpY2l0 X2luc3RhbnRpYXRpb24vMi5jYwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwy OCBAQAorLy8gVGVzdCBmb3IgQ29udGFpbmVyIHVzaW5nIG5vbi1zdGFuZGFy ZCBwb2ludGVyIHR5cGVzLgorCisvLyBDb3B5cmlnaHQgKEMpIDIwMTEKKy8v IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorLy8KKy8vIFRoaXMg ZmlsZSBpcyBwYXJ0IG9mIHRoZSBHTlUgSVNPIEMrKyBMaWJyYXJ5LiAgVGhp cyBsaWJyYXJ5IGlzIGZyZWUKKy8vIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz dHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZQorLy8gdGVy bXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxp c2hlZCBieSB0aGUKKy8vIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0 aGVyIHZlcnNpb24gMywgb3IgKGF0IHlvdXIgb3B0aW9uKQorLy8gYW55IGxh dGVyIHZlcnNpb24uCisKKy8vIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRl ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorLy8gYnV0 IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YKKy8vIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKy8vIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKy8v IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nCisvLyB3aXRoIHRoaXMgbGli cmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkczLiAgSWYgbm90IHNlZQorLy8g PGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorCisKKyNpbmNsdWRl IDx2ZWN0b3I+CisjaW5jbHVkZSA8ZXh0L2V4dHB0cl9hbGxvY2F0b3IuaD4K KworLy8geyBkZy1kbyBjb21waWxlIH0KKy8vIHsgZGctb3B0aW9ucyAiLXN0 ZD1nbnUrKzB4IiB9CisKK3RlbXBsYXRlIGNsYXNzIHN0ZDo6dmVjdG9yPGlu dCwgX19nbnVfY3h4OjpfRXh0UHRyX2FsbG9jYXRvcjxpbnQ+ID47Cg== --00504502c6d39a141604a571d9a7--