search for: _unwind_forcedunwind

Displaying 6 results from an estimated 6 matches for "_unwind_forcedunwind".

2011 Sep 27
1
[LLVMdev] How to code catch-all in the new exception handling scheme?
Hi Duncan, On Sep 27, 2011, at 7:58, Duncan Sands wrote: > Hi Bill, > >>>> I'm looking at the docs, and while it refers to a "catch-all" clause, >>> >>> hopefully Bill will get rid of the first reference to "catch-all" since >>> that section is inaccurate. >>> >> I *think* this is now correct. Please check. :)
2011 Sep 28
0
[LLVMdev] How to code catch-all in the new exception handling scheme?
...a cleanup is not considered to be a handler. If the C++ unwinder sees the call to _Unwind_RaiseException return like this then it terminates the program. Cleanups will therefore not have been run. The Ada unwinder behaves differently. If it the call to _Unwind_RaiseException returns then it calls _Unwind_ForcedUnwind which runs all the cleanups. The program is then terminated. In the more common situation of the unwinder seeing a handler somewhere up the stack it doesn't return and moves on to phase 2 as you described; but your description doesn't apply to the case in which there are only cleanups....
2011 Sep 27
3
[LLVMdev] How to code catch-all in the new exception handling scheme?
On Sep 27, 2011, at 4:58 AM, Duncan Sands wrote: > Hi Bill, > >>>> I'm looking at the docs, and while it refers to a "catch-all" clause, >>> >>> hopefully Bill will get rid of the first reference to "catch-all" since >>> that section is inaccurate. >>> >> I *think* this is now correct. Please check. :) >
2011 Sep 25
0
[LLVMdev] How to code catch-all in the new exception handling scheme?
...n, if the search phase discovers that nothing matches the exception except for cleanups all the way up the stack, then the call to _Unwind_RaiseException returns (otherwise control branches to the landing pad that matched the exception). If you want cleanups to be run anyway, then you need to call _Unwind_ForcedUnwind if _Unwind_RaiseException returns. This is in contrast to what happens if there is a catch-all: the call to _Unwind_RaiseException will see that the exception matches the catch-all (because the personality function says so) and it will cause execution to resume at the corresponding landing pad....
2011 Sep 24
2
[LLVMdev] How to code catch-all in the new exception handling scheme?
I'm looking at the docs, and while it refers to a "catch-all" clause, it doesn't describe how to construct one. In the old scheme, a selector value of 0 was used. What's the corresponding technique for the new scheme? Do I need to update my personality function to handle catch-alls (it wasn't needed in the previous scheme)? -- -- Talin -------------- next part
2020 Aug 15
5
Supporting libunwind on Windows 10 (32bit; 64bit) for MSVC and Clang
...nwind_Resume(_Unwind_Exception *exception_object) { ^ C:/Users/clang/libunwind/include\unwind.h:175:13: note: previous declaration is here extern void _Unwind_Resume(_Unwind_Exception *exception_object); ^ C:/Users/clang/libunwind/src/UnwindLevel1.c:408:1: warning: redeclaration of '_Unwind_ForcedUnwind' should not add 'dllexport' attribute [-Wdll-attribute-on-redeclaration] _Unwind_ForcedUnwind(_Unwind_Exception *exception_object, ^ C:/Users/clang/libunwind/include\unwind.h:277:5: note: previous declaration is here _Unwind_ForcedUnwind(_Unwind_Exception *exception_object, ^ C:...