Return-Path: Delivered-To: apmail-incubator-stdcxx-dev-archive@www.apache.org Received: (qmail 63305 invoked from network); 23 Oct 2007 16:02:30 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 23 Oct 2007 16:02:30 -0000 Received: (qmail 48592 invoked by uid 500); 23 Oct 2007 16:02:18 -0000 Delivered-To: apmail-incubator-stdcxx-dev-archive@incubator.apache.org Received: (qmail 48530 invoked by uid 500); 23 Oct 2007 16:02:18 -0000 Mailing-List: contact stdcxx-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: stdcxx-dev@incubator.apache.org Delivered-To: mailing list stdcxx-dev@incubator.apache.org Received: (qmail 48519 invoked by uid 99); 23 Oct 2007 16:02:18 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 23 Oct 2007 09:02:18 -0700 X-ASF-Spam-Status: No, hits=2.6 required=10.0 tests=DNS_FROM_OPENWHOIS,SPF_HELO_PASS,SPF_PASS,WHOIS_MYPRIVREG X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of lists@nabble.com designates 216.139.236.158 as permitted sender) Received: from [216.139.236.158] (HELO kuber.nabble.com) (216.139.236.158) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 23 Oct 2007 16:02:20 +0000 Received: from isper.nabble.com ([192.168.236.156]) by kuber.nabble.com with esmtp (Exim 4.63) (envelope-from ) id 1IkMCd-0002xT-Kr for stdcxx-dev@incubator.apache.org; Tue, 23 Oct 2007 09:01:59 -0700 Message-ID: <13366994.post@talk.nabble.com> Date: Tue, 23 Oct 2007 09:01:59 -0700 (PDT) From: Martin Sebor To: stdcxx-dev@incubator.apache.org Subject: RE: svn commit: r587164 - /incubator/stdcxx/branches/4.2.x/include/vector.cc In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Nabble-From: sebor@roguewave.com References: X-Virus-Checked: Checked by ClamAV on apache.org Travis Vitek-4 wrote: > > > Travis Vitek wrote: >> >> >>Farid, >> >>It seems that this change would cause some potentially serious problems >>in two different cases. >> >> 1. _TypeT is a UDT with an implementation of operator& that returns >>something that isn't convertible to a pointer type. [compile error] >> 2. _TypeT is a UDT with an implementation of opreator& that returns >>something convertible to pointer, but the returned value is not the >>address of the object. [runtime error] >> >>I see no reason that either of these cases would not be legal. I think >>you should be using the allocator_type::address() to get the physical >>address of a given object. >> >>Here is a simple testcase that illustrates the compile failure that was >>introduced with this change. >> > > FWIW, it appears that this problem exists when calling other methods of > std::vector. The vector implementation uses the function templates > std::uninitialized_copy() and std::uninitialized_fill(), both of which > require that the iterator types 'have operator* return an object for > which operator& is defined and returns a pointer to T' [20.4.4 p1]. > > I think this is another bug. Martin? > > The vector members should call the overloads of the uninitialized algorithms that take a reference to Allocator as the last argument. Travis Vitek-4 wrote: > > > If so, I'll file it seperately. Here's the testcase for those who are > interested. > > Yes, please do. Martin -- View this message in context: http://www.nabble.com/RE%3A-svn-commit%3A-r587164----incubator-stdcxx-branches-4.2.x-include-vector.cc-tf4672892.html#a13366994 Sent from the stdcxx-dev mailing list archive at Nabble.com.