<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Aug 17, 2016 at 1:09 PM, Reid Kleckner via llvm-dev <span dir="ltr"><<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">I mean, we just skip over instructions without a DebugLoc:<div><div><br></div><div>void CodeViewDebug::<wbr>beginInstruction(const MachineInstr *MI) {</div><div>  DebugHandlerBase::<wbr>beginInstruction(MI);</div><div><br></div><div>  // Ignore DBG_VALUE locations and function prologue.</div><div>  if (!Asm || !CurFn || MI->isDebugValue() ||</div><div>      MI->getFlag(MachineInstr::<wbr>FrameSetup))</div><div>    return;</div><div>  DebugLoc DL = MI->getDebugLoc();</div><div>  if (DL == PrevInstLoc || !DL)</div><div>    return;</div><div>  maybeRecordLocation(DL, Asm->MF);</div><div>}</div></div><div><br></div><div>Seems reasonable to extend the condition with ' || DL->getLine() == 0'. I'm not aware of a good way to say "this instruction is not associated with any line" in CodeView.</div></div></blockquote><div><br></div><div>Perhaps we could set emit line 0 as line number 0xfeefee (AlwaysStepIntoLineNumber).</div><div><a href="https://blogs.msdn.microsoft.com/jmstall/2005/06/19/line-hidden-and-0xfeefee-sequence-points/">https://blogs.msdn.microsoft.com/jmstall/2005/06/19/line-hidden-and-0xfeefee-sequence-points/</a><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class=""><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Aug 17, 2016 at 12:51 PM, Adrian Prantl via llvm-dev <span dir="ltr"><<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Note that clang is also assigning line 0 to code that doesn't have a corresponding source location. So CodeView needs to deal with this already, though I don't know how it currently handles this.<br>
<br>
-- adrian<br>
<div><div><br>
> On Aug 17, 2016, at 11:43 AM, Robinson, Paul via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:<br>
><br>
> I've been playing with Fred Riss's "line 0" patch for DWARF<br>
> (<a href="https://reviews.llvm.org/D16569" rel="noreferrer" target="_blank">https://reviews.llvm.org/D165<wbr>69</a>) but in adapting it for current trunk,<br>
> I find the DwarfDebug stuff has been refactored to allow either DWARF<br>
> or CodeView.  That's all good, but the question is whether the "line 0"<br>
> patch should be DWARF-specific or common.  The DWARF spec explicitly<br>
> states that code not associated with any particular source location<br>
> should be associated with line number 0.  I don't know what CodeView<br>
> (or debuggers that consume CodeView) would think of seeing "line 0" show<br>
> up in the debug info.<br>
><br>
> Does anybody know?<br>
> Thanks,<br>
> --paulr<br>
><br>
</div></div>> ______________________________<wbr>_________________<br>
> LLVM Developers mailing list<br>
> <a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-dev</a><br>
<br>
______________________________<wbr>_________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-dev</a><br>
</blockquote></div><br></div>
</div></div><br>______________________________<wbr>_________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-dev</a><br>
<br></blockquote></div><br></div></div>