<html><head><base href="x-msg://11/"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Mar 30, 2011, at 3:24 AM, Relph, Richard wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><span class="Apple-style-span" style="border-collapse: separate; font-family: Optima; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div lang="EN-US" link="blue" vlink="purple"><div class="WordSection1" style="page: WordSection1; "><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; font-size: 11pt; font-family: Calibri, sans-serif; ">In the version of LLVM I’m using (Apple tag 2352.1), it seems that the DWARF emitter cannot produce DWARF location lists to outline when user variables live and where. Instead it uses a crutch of DW_AT_start_scope to specify each solitary location where an assignment to a user variable does occur.<o:p></o:p></div><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; font-size: 11pt; font-family: Calibri, sans-serif; "><o:p> </o:p></div><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; font-size: 11pt; font-family: Calibri, sans-serif; ">This is unsatisfactory for machines that put user variables in registers because it doesn’t specify when a register is used for some other purpose, leaving the debugger no clue about when a user’s variable might be “dead”. Instead, the debugger will silently tell the user whatever happens to be in that register at the time.</div></div></div></span></blockquote><div><br></div><div>You may want to try with SVN trunk. The DWARF emitter has just learned to notice when registers are clobbered. This did not make it into the 2.9 release.</div></div><br><div>/jakob</div><div><br></div></body></html>