<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Fri, Dec 15, 2017 at 2:05 PM, Shoaib Meenai via Phabricator <span dir="ltr"><<a href="mailto:reviews@reviews.llvm.org" target="_blank">reviews@reviews.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">smeenai added a comment.<br>
<br>
So it looks like clang produces both CodeView and DWARF in the same object file if you pass both `-gcodeview` and `-gdwarf`. I haven't verified the debug info is sensible, but the object file at least contains both CodeView and DWARF debug sections.<br>
<br>
With that in mind, I think the following makes sense:<br>
<br>
1. `/debug` by itself produces a PDB (this is unchanged).<br>
2. `/debug:dwarf` by itself produces DWARF (this is unchanged).<br>
3. `/debug` and `/debug:dwarf` produce both a PDB and DWARF (this is different from today, where `/debug:dwarf` always prevents a PDB from being created).<br>
4. `/nopdb` can still be deleted; just don't specify `/debug` if you don't want a PDB (or perhaps we can add `/debug:none` to cancel out `/debug`, but then it's confusing as to whether it should also cancel out `/debug:dwarf` ...)<br>
<br>
Does this sound good to everyone?</blockquote><div><br></div><div>Makes sense to me.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">
<br>
Repository:<br>
  rLLD LLVM Linker<br>
<br>
<a href="https://reviews.llvm.org/D41310" rel="noreferrer" target="_blank">https://reviews.llvm.org/<wbr>D41310</a><br>
<br>
<br>
<br>
</div></div></blockquote></div><br></div></div>