Richard Henderson wrote:
On Mon, Aug 25, 2003 at 08:47:51AM +0100, Nathan Sidwell wrote:... I also noticed that G++ is building __cxa_begin_catch with type void*(*)(void*), instead of void(*)(void*) as it is defined in section 2.5.3 of the ABI spec. Which one is wrong?gcc's implementation is incorrect. its return value is never usedThis is false. The return value is the adjusted pointer to the exception object. Consider the following test case, which shows that pointer adjustment must happen on a per-handler basis.
doh! In grepping for cxa_being_catch I forgot that the compiler
generates those calls. <slaps forehead>
nathan
--
Nathan Sidwell :: http://www.codesourcery.com :: CodeSourcery LLC
The voices in my head said this was stupid too
nathan@xxxxxxxxxxxxxxxx :: http://www.planetfall.pwp.blueyonder.co.uk