stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eric Lemings" <Eric.Lemi...@roguewave.com>
Subject RE: [STDCXX-709] ContainerData ctor and UserClass::from_char()
Date Thu, 27 Mar 2008 20:04:43 GMT
 

> -----Original Message-----
> From: Martin Sebor [mailto:sebor@roguewave.com] 
> Sent: Wednesday, March 26, 2008 4:19 PM
> To: dev@stdcxx.apache.org
> Subject: Re: [STDCXX-709] ContainerData ctor and 
> UserClass::from_char()
> 
...
> 
> It seems pretty clear that somewhere between the call TO
> operator new and the return FROM the function the pointer
> gets bumped up by 8 on LP64 (and 4 on ILP32 according to
> your observation). The only thing in between these two
> steps is the call to the UserClass ctor. So unless the
> ctor manages to change its own this pointer we're looking
> as a compiler bug. Either way, we need a small, isolated
> test case to understand how to deal with it...
> 
> Martin

The pointer is being adjusted before the constructor is
called.

I was looking yesterday at GCC's implementation of the
C++ ABI __cxa_vec_new2() function.  There's a padding
argument that may be utilized in HP-UX aCC 6.x for some
unknown reason.

Also, I thought the allocator in _rw_dispatch(), where
the ContainerTestCaseData object is being constructed,
could play some role in all this but looks like its
only used in the test function.

Brad.

Mime
View raw message