* Use the proper size to output the range size.
authorBill Wendling <isanbard@gmail.com>
Thu, 30 Jun 2011 00:30:52 +0000 (00:30 +0000)
committerBill Wendling <isanbard@gmail.com>
Thu, 30 Jun 2011 00:30:52 +0000 (00:30 +0000)
* Rough in the compact encoding part.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134119 91177308-0d34-0410-b5e6-96231b3b80d8

lib/MC/MCDwarf.cpp

index d4a223443325ff4978c6c7900a7aeb01c940709c..fd55cc062df419e7cc6e7eafca562a0ca27b36c3 100644 (file)
@@ -667,7 +667,14 @@ bool FrameEmitterImpl::EmitCompactUnwind(MCStreamer &Streamer,
   // Range Length
   const MCExpr *Range = MakeStartMinusEndExpr(Streamer, *Frame.Begin,
                                               *Frame.End, 0);
-  Streamer.EmitAbsValue(Range, Size);
+  Streamer.EmitAbsValue(Range, 4);
+
+  // FIXME:
+  // Compact Encoding
+  uint32_t Encoding = 0;
+  Size = getSizeForEncoding(Streamer, dwarf::DW_EH_PE_udata4);
+  Streamer.EmitIntValue(Encoding, Size);
+
 
   // Personality Function
   Size = getSizeForEncoding(Streamer, Frame.PersonalityEncoding);