diff options
author | Mark Seaborn <mseaborn@chromium.org> | 2013-10-16 13:06:24 -0700 |
---|---|---|
committer | Mark Seaborn <mseaborn@chromium.org> | 2013-10-16 13:06:24 -0700 |
commit | f058041de6c69aadafcd030c62678d4244ba2cf7 (patch) | |
tree | 952b0246ef3e6ed26aef9dacdf3c8f9f3d4c3239 /lib/Support/Unix/system_error.inc | |
parent | 98d05124206fb054a3446f2e9a07cefb8faa830d (diff) |
Add PNaClSjLjEH pass to implement C++ exception handling using setjmp()+longjmp()
There are two parts to this:
* PNaClSjLjEH.cpp expands out the "invoke", "landingpad" and "resume"
instructions, modifying the control flow to use setjmp().
* ExceptionInfoWriter.cpp lowers landingpads' clause lists to data
that PNaCl's C++ runtime library will interpret. This part will be
reused when we drop the SjLj part and create a stable ABI for
zero-cost EH.
This pass isn't enabled in PNaClABISimplify yet: I'll do that in a
separate change.
BUG=https://code.google.com/p/nativeclient/issues/detail?id=3696
TEST=*.ll tests (also tested end-to-end: plumbing for this will follow later)
Review URL: https://codereview.chromium.org/24777002
Diffstat (limited to 'lib/Support/Unix/system_error.inc')
0 files changed, 0 insertions, 0 deletions