https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109487

--- Comment #2 from LU Hongyi <hluaw at connect dot ust.hk> ---
Oh, sorry I didn't read the standard carefully.

But still, the code generated by GCC still looks a bit strange.

There is a DW_OP_const2u between two composite location descriptor.
The final DWARF generated by GCC is actually

```
DW_OP_const4u: 338810; 
DW_OP_stack_value; 
DW_OP_bit_piece: size: 25 offset: 0; 
DW_OP_bit_piece: size: 39 offset: 0
```

where two DW_OP_bit_piece stacks side-by-side, but the standard specifies that
it should each of them should preceding a single location?

Perhaps that causes LLDB broken.

I presume the correct should be:


```
DW_OP_const4u: 338810; 
DW_OP_stack_value; 
DW_OP_const2u: 4728
DW_OP_bit_piece: size: 25 offset: 0; 
DW_OP_bit_piece: size: 39 offset: 0
```

Reply via email to