diff options
author | Bill Wendling <isanbard@gmail.com> | 2011-06-29 23:53:16 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2011-06-29 23:53:16 +0000 |
commit | 4498d39680abe3970dc84dca973aff46d0f9039b (patch) | |
tree | e32de1ccd6cece055c84a70890a5d94ba8019bf8 | |
parent | 272511f518127aae8c96935689b5607455542863 (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.cpp | 18 |
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 |