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 | 4cdb206e76c59755ec64e4b14f55c8eb8a41e27c (patch) | |
tree | 85adf12bb1be9ed984d366c5edc5913dac5130f7 /llvm/lib/MC/MCDwarf.cpp | |
parent | 0eada032161b22eb1a113b5b0522585538a9fce4 (diff) | |
download | bcm5719-llvm-4cdb206e76c59755ec64e4b14f55c8eb8a41e27c.tar.gz bcm5719-llvm-4cdb206e76c59755ec64e4b14f55c8eb8a41e27c.zip |
Stupid error: If the LSDA and Personality functions aren't there, emit 0 instead
of the encoding.
llvm-svn: 134117
Diffstat (limited to 'llvm/lib/MC/MCDwarf.cpp')
-rw-r--r-- | llvm/lib/MC/MCDwarf.cpp | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/llvm/lib/MC/MCDwarf.cpp b/llvm/lib/MC/MCDwarf.cpp index 14a108158e7..d4a22344332 100644 --- a/llvm/lib/MC/MCDwarf.cpp +++ b/llvm/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 |