Displaying 3 results from an estimated 3 matches for "__cxxthrow".
Did you mean:
__cxa_throw
2015 May 18
2
[LLVMdev] RFC: New EH representation for MSVC compatibility
...Given that it won't save that much
work, I'd rather not introduce a dependency that wasn't there before.
The reason it's still hard is that you have to split the main function up
into more than one subfunction. The exception object is allocated in the
frame of the function calling __CxxThrow, and it has to stay alive until
control leaves the catch block receiving the exception. This is different
from Itanium, where the exception object is constructed in heap memory and
the pointer is saved in TLS. If this were not the case, we'd use the
__gxx_personaltity_v0-style landingpad approa...
2015 May 18
2
[LLVMdev] RFC: New EH representation for MSVC compatibility
...th the "ambiguous IR
> lowering":
I snipped the example, but in general, yes, I agree we could do another
personality with a less restrictive table format. I'm still not convinced
it's worth it.
The exception object is allocated in the frame of the function calling
>> __CxxThrow, and it has to stay alive until control leaves the catch block
>> receiving the exception.
>> This is different from Itanium, where the exception object is constructed
>> in heap memory and the pointer is saved in TLS. If this were not the case,
>> we'd use the __gxx_per...
2015 May 15
8
[LLVMdev] RFC: New EH representation for MSVC compatibility
After a long tale of sorrow and woe, my colleagues and I stand here before
you defeated. The Itanium EH representation is not amenable to implementing
MSVC-compatible exceptions. We need a new representation that preserves
information about how try-catch blocks are nested.
WinEH background
-------------------------------
Skip this if you already know a lot about Windows exceptions. On Windows,