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