[cfe-commits] [libcxx] r139933 - in /libcxx/trunk: include/__debug include/iterator src/debug.cpp

Howard Hinnant hhinnant at apple.com
Fri Sep 16 15:21:44 PDT 2011


On Sep 16, 2011, at 6:19 PM, Steven Watanabe wrote:

> On 09/16/2011 02:40 PM, Howard Hinnant wrote:
>> On Sep 16, 2011, at 5:27 PM, Steven Watanabe wrote:
>> 
>>> AMDG
>>> 
>>> On 09/16/2011 01:48 PM, Howard Hinnant wrote:
>>>> If another container gets constructed at the same address, then there will be a collision in the database.  I could probably put some checks in to detect that situation.  Maybe just silently reuse the database entry in that case.
>>>> 
>>> 
>>> There's one sequence I can think of that would
>>> not be easily detectable.
>>> 
>>> construct at address X with debugging.
>>> destroy at X without debugging.
>>> construct at X without debugging.
>>> use X
>>> 
>>> In this case the new container/iterator will
>>> silently inherit any information from the old one.
>> 
>> We've dropped off list.  I'm not sure if that was your intention.
>> 
> 
> It wasn't.  I just hit the wrong button, because
> I'm not used to posting to this list.
> 
>> And yeah, I'm not currently seeing a way to solve all the problems that construction/destruction in different translation units causes.  The best thing we may be able to do is just document: don't do that.
>> 
> 
> It isn't necessarily all or nothing.  Would it
> be possible to set it up so that it might silently
> fail to flag some errors, but never flag correct
> code?

That is certainly a worthy goal.  Do you have a specific scenario in mind?  I work best with a test case.

Howard




More information about the cfe-commits mailing list