Boost logo

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