|
Boost : |
From: David Abrahams (dave_at_[hidden])
Date: 2006-02-20 12:05:15
"Martin Bonner" <martin.bonner_at_[hidden]> writes:
> David Abrahams writes:
>
>> Ion Gaztañaga <igaztanaga_at_[hidden]> writes:
>
>>> but I suppose that the code must mark some "check-points" to know
>>> how many object are already constructed, to know how many
>>> destructors it must call when the exception occurs. I suppose that
>>> can be implemented as an integer/pointer increment or
>>> assignment. But the code must add something to the normal path to
>>> know what to do when the exception occurs.
>>
>> No. All the necessary information is contained in the program
> counter
>> at the point where the exception is thrown.
>
> This is being VERY picky, but strictly speaking the information is
> contained in the program counter *and all the return addresses on the
> call stack*.
Yes, thank you for picking. And the registers. :)
-- Dave Abrahams Boost Consulting www.boost-consulting.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk