This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: G++ ABI mismatches
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 used
This 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@codesourcery.com :: http://www.planetfall.pwp.blueyonder.co.uk