G++ ABI mismatches

Nathan Sidwell nathan at codesourcery.com
Mon Aug 25 07:47:51 UTC 2003


Chris Lattner wrote:
> In addition to this discrepency:
> http://gcc.gnu.org/ml/gcc/2003-08/msg01422.html
> 
> ... 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 (in gcc's
runtime), and its implementation has the following
       // ??? No sensible value to return; we don't know what the
       // object is, much less where it is in relation to the header.
       return 0;
for one of its returns :)

nathan

-- 
Nathan Sidwell    ::   http://www.codesourcery.com   ::     CodeSourcery LLC
          The voices in my head said this was stupid too
nathan at codesourcery.com    ::     http://www.planetfall.pwp.blueyonder.co.uk





More information about the cxx-abi-dev mailing list