aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2011-06-29 23:53:16 +0000
committerBill Wendling <isanbard@gmail.com>2011-06-29 23:53:16 +0000
commit4498d39680abe3970dc84dca973aff46d0f9039b (patch)
treee32de1ccd6cece055c84a70890a5d94ba8019bf8
parent272511f518127aae8c96935689b5607455542863 (diff)
Stupid error: If the LSDA and Personality functions aren't there, emit 0 instead
of the encoding. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134117 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/MC/MCDwarf.cpp18
1 files changed, 8 insertions, 10 deletions
diff --git a/lib/MC/MCDwarf.cpp b/lib/MC/MCDwarf.cpp
index 14a108158e..d4a2234433 100644
--- a/lib/MC/MCDwarf.cpp
+++ b/lib/MC/MCDwarf.cpp
@@ -670,20 +670,18 @@ bool FrameEmitterImpl::EmitCompactUnwind(MCStreamer &Streamer,
Streamer.EmitAbsValue(Range, Size);
// Personality Function
- if (Frame.Personality) {
- Size = getSizeForEncoding(Streamer, Frame.PersonalityEncoding);
+ Size = getSizeForEncoding(Streamer, Frame.PersonalityEncoding);
+ if (Frame.Personality)
Streamer.EmitSymbolValue(Frame.Personality, Size);
- } else {
- Streamer.EmitIntValue(Frame.PersonalityEncoding, 0); // No personality fn
- }
+ else
+ Streamer.EmitIntValue(0, Size); // No personality fn
// LSDA
- if (Frame.Lsda) {
- Size = getSizeForEncoding(Streamer, Frame.LsdaEncoding);
+ Size = getSizeForEncoding(Streamer, Frame.LsdaEncoding);
+ if (Frame.Lsda)
Streamer.EmitSymbolValue(Frame.Lsda, Size);
- } else {
- Streamer.EmitIntValue(Frame.LsdaEncoding, 0); // No LSDA
- }
+ else
+ Streamer.EmitIntValue(0, Size); // No LSDA
return true;
#endif