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
This commit is contained in:
Bill Wendling 2011-06-29 23:53:16 +00:00
parent 272511f518
commit 4498d39680

View File

@ -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