[LLVMbugs] [Bug 10789] TargetCodeGenInfo::getSizeOfUnwindException() should not always return 32

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Mon Aug 29 18:45:31 PDT 2011


http://llvm.org/bugs/show_bug.cgi?id=10789

John McCall <rjmccall at apple.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED

--- Comment #11 from John McCall <rjmccall at apple.com> 2011-08-29 20:45:30 CDT ---
138792(In reply to comment #10)
> I also studied gcc's output.
> It seems that it doesn't use the address of the exception object, but instead
> uses the return value of __cxa_begin_catch.

This is because GCC does not correctly implement [except.handle] for non-const
references to pointers:  the reference is bound to a temporary, and changes to
it are not reflected in the thrown exception.  See C++11 [except.handle]p17,
although these semantics are not new to C++11.

Anyhow, I have updated our implementation to use the correct values for ARM
EABI and MIPS;  thanks for doing the hard work here.

r138792.

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list