<div dir="ltr">Anyone seen these/have interest in fixing them - maybe even making the DWARF verifier diagnose them?<br><br>Example:<br><br>$ cat scope.cpp<br>__attribute__((const)) int f1(int);<br><br>__attribute__((always_inline)) int f2(int a) {<br>  return f1(a);<br>}<br><br>int func(bool b, int a){<br>  if (b)<br>    return f2(a);<br>  return f2(a);<br>}<br>$ clang++-tot scope.cpp -g -O3 -c && llvm-dwarfdump-tot scope.o<br>...<br>DW_TAG_inlined_subroutine<br>  DW_AT_abstract_origin (0x00000047 "_Z2f2i")<br>  DW_AT_low_pc  (0x0000000000000012)<br>  DW_AT_high_pc (0x0000000000000017)<br>  ...<br><br>  DW_TAG_formal_parameter<br>    DW_AT_location      (0x0000007c<br>      [0x0000000000000010,  0x0000000000000012): DW_OP_reg4 RSI<br>      [0x0000000000000012,  0x0000000000000017): DW_OP_reg5 RDI)<br><br>That first part of the location description looks like it's completely unnecessary/unusable & once that's removed, then the second location covers the entire range of the enclosing scope and could use a direct location description rather than indirecting through debug_loc/loclists.</div>