File tree 1 file changed +8
-6
lines changed
1 file changed +8
-6
lines changed Original file line number Diff line number Diff line change 8
8
// option. This file may not be copied, modified, or distributed
9
9
// except according to those terms.
10
10
11
+ //! Unwinding for emscripten
12
+ //!
13
+ //! Whereas Rust's usual unwinding implementation for Unix platforms
14
+ //! calls into the libunwind APIs directly, on emscripten we instead
15
+ //! call into the C++ unwinding APIs. This is just an expedience since
16
+ //! emscripten's runtime always implements those APIs and does not
17
+ //! implement libunwind.
18
+
11
19
#![ allow( private_no_mangle_fns) ]
12
20
13
21
use core:: any:: Any ;
@@ -55,12 +63,6 @@ unsafe extern "C" fn rust_eh_personality(version: c_int,
55
63
context)
56
64
}
57
65
58
- #[ lang = "eh_unwind_resume" ]
59
- #[ unwind]
60
- unsafe extern "C" fn rust_eh_unwind_resume ( panic_ctx : * mut u8 ) -> ! {
61
- uw:: _Unwind_Resume ( panic_ctx as * mut uw:: _Unwind_Exception ) ;
62
- }
63
-
64
66
extern {
65
67
fn __cxa_allocate_exception ( thrown_size : libc:: size_t ) -> * mut libc:: c_void ;
66
68
fn __cxa_free_exception ( thrown_exception : * mut libc:: c_void ) ;
You can’t perform that action at this time.
0 commit comments