about summary refs log tree commit diff
path: root/src/rustllvm/RustWrapper.cpp
diff options
context:
space:
mode:
authorVadim Chugunov <vadimcn@gmail.com>2014-04-10 10:48:38 -0700
committerVadim Chugunov <vadimcn@gmail.com>2014-08-04 18:27:23 -0700
commit5a24ee8a9ef1bb3bf250ce39902cf8dfca1a4dea (patch)
tree1cbca1cbc7baaa9e1887fefbe2977ce446338c4f /src/rustllvm/RustWrapper.cpp
parenta12b23521fd5cc826a787a45cfa6630857a8939e (diff)
downloadrust-5a24ee8a9ef1bb3bf250ce39902cf8dfca1a4dea.tar.gz
rust-5a24ee8a9ef1bb3bf250ce39902cf8dfca1a4dea.zip
Implement unwinding for Win64.
The original trick used to trigger unwinds would not work with GCC's implementation of SEH, so I had to invent a new one: rust_try now consists of two routines: the outer one, whose handler triggers unwinds, and the inner one, that stops unwinds by having a landing pad that swallows exceptions and passes them on to the outer routine via a normal return.
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions