Issue 202605
Summary [lldb] lldb rejects legal DW_OP_convert to floating-point base types
Labels new issue
Assignees
Reporter firmiana402
    LLDB currently rejects `DW_OP_convert` when the target type DIE is a floating-point `DW_TAG_base_type`.

[DWARF v5](https://dwarfstd.org/doc/DWARF5.pdf) Section 2.5.1.6 defines `DW_OP_convert` as converting the top stack entry to the base type referenced by the operand:

That rule is not limited to signed/unsigned integer base types. A float base type is also a legal target.

In LLDB, the current implementation appears to restrict DW_OP_convert to only converting to integer types.

For example, with a reduced DWARF _expression_, such as:

```text
DW_OP_lit0
DW_OP_convert <float>
DW_OP_convert <generic>
DW_OP_stack_value
```

GDB evaluates the _expression_ successfully and produces `0`.

LLDB rejects the same legal _expression_ and reports:

```text
<Unsupported encoding>
```
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to