summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC/MCDwarf.cpp
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
commit4cdb206e76c59755ec64e4b14f55c8eb8a41e27c (patch)
tree85adf12bb1be9ed984d366c5edc5913dac5130f7 /llvm/lib/MC/MCDwarf.cpp
parent0eada032161b22eb1a113b5b0522585538a9fce4 (diff)
downloadbcm5719-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.cpp18
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
OpenPOWER on IntegriCloud