diff options
author | Reid Kleckner <rnk@google.com> | 2017-05-31 22:18:49 +0000 |
---|---|---|
committer | Reid Kleckner <rnk@google.com> | 2017-05-31 22:18:49 +0000 |
commit | c2f1bbfe4fbd6229bd3d0e46f7882ca753976405 (patch) | |
tree | 790d04c9aeca42ea8356bf39eeaf2250fc96b454 /llvm/lib/CodeGen/AsmPrinter/EHStreamer.cpp | |
parent | 97e2cf87e1a0cdfcb9330c364ac1be1535be99b9 (diff) | |
download | bcm5719-llvm-c2f1bbfe4fbd6229bd3d0e46f7882ca753976405.tar.gz bcm5719-llvm-c2f1bbfe4fbd6229bd3d0e46f7882ca753976405.zip |
[EH] Fix the LSDA that we emit for unknown EH personalities
We should have a single call site entry with no landing pad. This
indicates that no EH action should be taken and the unwinder should
unwind to the next frame.
We currently don't recognize __gxx_personality_seh0 as a known
personality, so we forcibly emit a table, and that table was wrong. This
was filed as PR33220. Now we emit a correct table for that personality.
The next step is to recognize that we can completely skip the table for
this personality.
llvm-svn: 304363
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/EHStreamer.cpp')
-rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/EHStreamer.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/EHStreamer.cpp b/llvm/lib/CodeGen/AsmPrinter/EHStreamer.cpp index 0a4a7a06cb2..e14d5be1177 100644 --- a/llvm/lib/CodeGen/AsmPrinter/EHStreamer.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/EHStreamer.cpp @@ -309,7 +309,7 @@ computeCallSiteTable(SmallVectorImpl<CallSiteEntry> &CallSites, // If some instruction between the previous try-range and the end of the // function may throw, create a call-site entry with no landing pad for the // region following the try-range. - if (SawPotentiallyThrowing && !IsSJLJ && LastLabel != nullptr) { + if (SawPotentiallyThrowing && !IsSJLJ) { CallSiteEntry Site = { LastLabel, nullptr, nullptr, 0 }; CallSites.push_back(Site); } |