================
@@ -214,17 +271,26 @@ bool DWARFExpression::Operation::extract(DataExtractor 
Data,
           Data.getUnsigned(&Offset, dwarf::getDwarfOffsetByteSize(*Format));
       break;
     case Operation::SizeLEB:
-      if (Signed)
-        Operands[Operand] = Data.getSLEB128(&Offset);
-      else
-        Operands[Operand] = Data.getULEB128(&Offset);
+      if (Opcode == DW_OP_constu || Opcode == DW_OP_consts) {
+        if (std::optional<uint64_t> Value = extractGenericConstant(
+                Data, Offset, AddressSize, /*Signed=*/Signed))
+          Operands[Operand] = *Value;
+        else {
+          OperandError = true;
+          return false;
+        }
+      } else if (!ExtractLEBOperand(Signed)) {
+        return false;
----------------
felipepiovezan wrote:

is this PR fixing multiple issues at once?

https://github.com/llvm/llvm-project/pull/219149
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to