[C++-sig] Re: value_holder_back_reference::holds()

Niall Douglas s_sourceforge at nedprod.com
Mon Nov 3 04:16:55 CET 2003


On 3 Nov 2003 at 0:47, Niall Douglas wrote:

> I should add that my small repeatable example has the wrapper too, yet
> it oddly enough works fine. So it can't be as simple as that.

I became increasingly sceptic as to what the problem might be, and so 
rebuilt everything from scratch. Interestingly now convert_type() 
/doesn't/ find the entry in the cache (which is correct) and goes on 
to search for it. This smells to me like a bug in the compiler or DLL 
load order.

In search(), it receives a src and dst type index (I'm guessing?) 
calculated using tuples::get<kvertex>() which works by some 
mysterious fashion. However it would appear that dst is calculated 
incorrectly as search() correctly steps up the src hierarchy through 
the correct types, as evidenced by the ->offset member remaining 
correct.

This therefore leaves two conclusions: (i) there is a bug in the 
compiler whereby separate compilation modules are calculating 
different indices (I have the optimiser turned on with /Os) or (ii) 
something is up with the STL.

Q: Are MSVC7.1's CRT libraries fine with debug and release coexisting 
in the same process space? You would really have thought so, but 
older MSVC's I remember had issues with it.

I'll just go recompile everything again with the optimiser off. It 
may then want to spend four hours linking, if so I'll get back to you 
tomorrow night.

Cheers,
Niall




-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 208 bytes
Desc: not available
URL: <http://mail.python.org/pipermail/cplusplus-sig/attachments/20031103/b6b226b0/attachment.pgp>


More information about the Cplusplus-sig mailing list