https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88635
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |wrong-debug
CC| |rguenth at gcc dot gnu.org
Component|c |middle-end
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
must really be latent before/after the revs. I see
.value 0xf # Location expression size
.byte 0x3 # DW_OP_addr
.long .LC0
.byte 0x72 # DW_OP_breg2
.sleb128 0
.byte 0x1c # DW_OP_minus
.byte 0x3 # DW_OP_addr
.long -2-.LC0@gotoff
.byte 0x22 # DW_OP_plus
.byte 0x9f # DW_OP_stack_value
in debug_loc. To me looks like a missed expression simplification and
failure to reject this "constant". Note that
.long .LC0@gotoff+2
works, so doing that and DW_OP_negate (if exists) might work. Of course
the @gotoff looks odd to me given the non-@gotoff reference to .LC0 above.