<div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">On Tue, May 30, 2017 at 8:17 AM Adrian Prantl via Phabricator <<a href="mailto:reviews@reviews.llvm.org">reviews@reviews.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">aprantl accepted this revision.<br>
aprantl added a comment.<br>
This revision is now accepted and ready to land.<br>
<br>
Thanks Keno, this appears to be a far better approach. The only question that remains is whether / how to update the linkage name of the cloned DISubprogram. But I don't think that this needs to be solved in this patch.<br></blockquote><div><br>*nod* Agreed.<br><br>Speculating rampantly: I wonder if it'd make sense to remove the linkage name from definitions and use the actual Function's linkage name (hmm, that doesn't work for inlining, though - so maybe it does have to be duplicated when the function is cloned - but could then have a verifier/invariant that it matches the Function if there is one). And then even allow the mangled name to differ between declaration and definition - and put an extra DW_AT_linkage_name on the definition if it's different from the declaration.<br><br>*shrug* Don't really know. The right answers may require thinking a fair bit about the coroutines debug info as a (perhaps somewhat unique) example of cloning, etc.<br> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
<br>
<a href="https://reviews.llvm.org/D33655" rel="noreferrer" target="_blank">https://reviews.llvm.org/D33655</a><br>
<br>
<br>
<br>
</blockquote></div></div>