https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83157
--- Comment #10 from Richard Biener <rguenth at gcc dot gnu.org> --- I'm quite sure older GCC must be somehow affected - or I'm really curious how they are not. While the patch fixes the dwarf for the small C testcase it doesn't fix the pr41616-1.c execute fail. The dwarf looks "fine" there as well though, what we lack is a call-site parameter for the 2nd gual_checkval: <4><6e5>: Abbrev Number: 39 (DW_TAG_GNU_call_site) <6e6> DW_AT_low_pc : 0x19d <6ee> DW_AT_abstract_origin: <0x859> <6f2> DW_AT_sibling : <0x70a> <5><6f6>: Abbrev Number: 38 (DW_TAG_GNU_call_site_parameter) <6f7> DW_AT_location : 1 byte block: 55 (DW_OP_reg5 (rdi)) <6f9> DW_AT_GNU_call_site_value: 9 byte block: 3 78 0 0 0 0 0 0 0 (DW_OP_addr: 78) <5><703>: Abbrev Number: 38 (DW_TAG_GNU_call_site_parameter) <704> DW_AT_location : 1 byte block: 54 (DW_OP_reg4 (rsi)) <706> DW_AT_GNU_call_site_value: 2 byte block: 9 ff (DW_OP_const1s: -1) <5><709>: Abbrev Number: 0 <4><70a>: Abbrev Number: 37 (DW_TAG_GNU_call_site) <70b> DW_AT_low_pc : 0x1b6 <713> DW_AT_abstract_origin: <0x859> <5><717>: Abbrev Number: 38 (DW_TAG_GNU_call_site_parameter) <718> DW_AT_location : 1 byte block: 55 (DW_OP_reg5 (rdi)) <71a> DW_AT_GNU_call_site_value: 9 byte block: 3 78 0 0 0 0 0 0 0 (DW_OP_addr: 78) <5><724>: Abbrev Number: 0 <4><725>: Abbrev Number: 0 and the location list for the decl itself is 00000365 0000000000000198 00000000000001ae (DW_OP_const1s: -1; DW_OP_stack_value) which covers too many instructions(?). We expand from # DEBUG b => -1 # DEBUG BEGIN_STMT guality_check.constprop ("b", -1); # DEBUG BEGIN_STMT if (_35 > 0) goto <bb 18>; [64.00%] else goto <bb 19>; [36.00%] ;; succ: 18 ;; 19 ;; basic block 18, loop depth 0 ;; pred: 17 ;; succ: 19 ;; basic block 19, loop depth 0 ;; pred: 17 ;; 18 # b_88 = PHI <-1(17), 1(18)> # DEBUG b => b_88 # DEBUG BEGIN_STMT _89 = (long int) b_88; guality_check.constprop ("b", _89);