Gennaro Prota <[EMAIL PROTECTED]> writes:

> On Sun, 23 Mar 2003 17:17:03 +0100, Gennaro Prota
> <[EMAIL PROTECTED]> wrote:
>
>>the standard defines 'stack unwinding' as (15.2/3)
>>
>>   The process of calling destructors for automatic objects
>>   constructed on the path from a try block to a throw-expression
>>
>>Does this include the 'argument' of the call expression?
>>
>>   throw A()
>>
>>Certainly the expression A() is part of the throw-expression, however
>>the quote above isn't particularly clear at saying whether "to a
>>throw-expression" is inclusive or not.
>
> Now that I think about it, I believe the initial copy of the exception
> object must logically be seen as a *part* of the evaluation of the
> throw-expression. Otherwise, i.e. if you make it a separate step, you
> either have to say that the temporary A() is not destroyed at the end
> of its full expression (the throw) or say that it is destroyed before
> you get a chance to copy it to a safe place. Don't you agree?

That sounds right.  Would you like to post a proposed replacement (or
patch) for the page as written which addresses your points?

-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to