Return-Path: Delivered-To: apmail-stdcxx-dev-archive@www.apache.org Received: (qmail 22583 invoked from network); 21 Mar 2008 23:10:18 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 21 Mar 2008 23:10:18 -0000 Received: (qmail 11329 invoked by uid 500); 21 Mar 2008 23:10:16 -0000 Delivered-To: apmail-stdcxx-dev-archive@stdcxx.apache.org Received: (qmail 11311 invoked by uid 500); 21 Mar 2008 23:10:16 -0000 Mailing-List: contact dev-help@stdcxx.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@stdcxx.apache.org Delivered-To: mailing list dev@stdcxx.apache.org Received: (qmail 11298 invoked by uid 99); 21 Mar 2008 23:10:16 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 21 Mar 2008 16:10:16 -0700 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of msebor@gmail.com designates 72.14.204.230 as permitted sender) Received: from [72.14.204.230] (HELO qb-out-0506.google.com) (72.14.204.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 21 Mar 2008 23:09:37 +0000 Received: by qb-out-0506.google.com with SMTP id p36so1656396qba.13 for ; Fri, 21 Mar 2008 16:09:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:organization:user-agent:mime-version:to:subject:references:in-reply-to:content-type:content-transfer-encoding:sender; bh=S71xt8EexPqbqmh68cI8J2Dzf9ZFic6o/9yoM3blYP4=; b=L+H8i6fz0AwAW7hvphOH4Bttg2sK42cGG7kEH5yfNgP9BnsgYXS6bfKELqpyEVY0DQeSszBTZLIVafUspcFQZpouaXdjHkqDDjbsEFQnm0SaxSepMXcYwJWLNxK/MAGKGUywKEIJTW3E+rHmyv1b7EXf5uF1yUSQBxYDh/bRHWI= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=message-id:date:from:organization:user-agent:mime-version:to:subject:references:in-reply-to:content-type:content-transfer-encoding:sender; b=DVfP1/z9GudJOm91CZQszZK9p/KE6tz35m+vPdO75OOPvKaj3oZtG1uI7KXnBIWJfV2JUBiaaDLkigfKiew4xdmKFyq0BmsHV/uFIG7ZQeLQFIwXqpMSiH5qRlVglbepIajmfMDAmT6LC3KNaNSqOmKiaOBG7Gq6FKBy7Qg5BZM= Received: by 10.114.200.2 with SMTP id x2mr6840272waf.143.1206140987258; Fri, 21 Mar 2008 16:09:47 -0700 (PDT) Received: from localhost.localdomain ( [71.229.200.170]) by mx.google.com with ESMTPS id m27sm8068319wag.50.2008.03.21.16.09.45 (version=TLSv1/SSLv3 cipher=RC4-MD5); Fri, 21 Mar 2008 16:09:46 -0700 (PDT) Message-ID: <47E44038.5090404@roguewave.com> Date: Fri, 21 Mar 2008 17:09:44 -0600 From: Martin Sebor Organization: Rogue Wave Software, Inc. User-Agent: Thunderbird 2.0.0.12 (X11/20080226) MIME-Version: 1.0 To: dev@stdcxx.apache.org Subject: Re: [STDCXX-709] ContainerData ctor and UserClass::from_char() References: <47E42941.8040704@roguewave.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Sender: Martin Sebor X-Virus-Checked: Checked by ClamAV on apache.org Eric Lemings wrote: > > >> -----Original Message----- >> From: Martin Sebor [mailto:sebor@roguewave.com] >> Sent: Friday, March 21, 2008 3:32 PM >> To: dev@stdcxx.apache.org >> Subject: Re: [STDCXX-709] ContainerData ctor and >> UserClass::from_char() >> > ... >> So you think there's a mismatch between the allocation function >> invoked in value.cpp and the deallocation function called in the >> header? Why would that be? IIUC, tests that replace operator new >> and operator delete (such as 23.list.assign) replace it for the >> whole process. If there's a mismatch, it can only be because >> the operators aren't replaced consistently. Making sure this >> replacement happens across the whole process, including any >> libraries, is the responsibility of the C++ runtime (i.e., >> the compiler). If your analysis is correct, the C++ runtime >> on IPF would have to be buggy. >> >> Or did I misunderstand what you were trying to say? > > Sounds about right. > > I just noticed there's a runtime link error in the config test > OPERATOR_NEW_ARRAY_PLACEMENT on HP-UX IPF platforms. May be the > culprit. > > [user@host]$ ./include/OPERATOR_NEW_ARRAY_PLACEMENT > /usr/lib/hpux32/dld.so: Unsatisfied code symbol '_ZnamPv' in load > module './stdcxx/include/OPERATOR_NEW_ARRAY_PLACEMENT'. > Killed That's a check for placement new in the runtime library. I don't think that has any bearing on the replaceability of operator new. I.e., the first one is not replaceable: void* operator new(size_t, void*) throw(); void* operator new[](size_t, void*) throw(); while the second one is: void* operator(size_t) throw (bad_alloc); void* operator[](size_t) throw (bad_alloc); The first form is usually defined inline in , like so: inline void* operator new(size_t, void *ptr) throw() { return ptr; } and so it's not defined in the runtime library. That's why I assume the OPERATOR_NEW_ARRAY_PLACEMENT test fails: it declares the operator and calls it without providing a definition to see if one exists in the runtime. Unless the test finds one we need to provide our own definition in our . Otherwise we just declare it. Martin