| 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