search for: __cxxthrow

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,