<div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">On Tue, Jan 9, 2018 at 9:47 AM Robinson, Paul <<a href="mailto:paul.robinson@sony.com">paul.robinson@sony.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="EN-US" link="blue" vlink="purple"><div class="m_7802112391481312989WordSection1"><p class="MsoNormal">================<br>
Comment at: llvm/include/llvm/MC/MCDwarf.h:56<br>
+  /// The MD5 checksum, if there is one.<br>
+  MD5::MD5Result *Checksum = nullptr;<br>
 };<br>
----------------<br>
aprantl wrote:<br>
> Optional<MD5::MD5Result>?<br></p></div></div><div lang="EN-US" link="blue" vlink="purple"><div class="m_7802112391481312989WordSection1"><p class="MsoNormal">
probinson:<u></u><u></u></p></div></div><div lang="EN-US" link="blue" vlink="purple"><div class="m_7802112391481312989WordSection1">
<p class="MsoNormal">This is a non-owning pointer to data allocated in MCContext.  Does that change your opinion?  (Or Blaikie's?)<u></u><u></u></p>
</div></div><div lang="EN-US" link="blue" vlink="purple"><div class="m_7802112391481312989WordSection1"><p class="MsoNormal">dblaikie:</p></div></div><div lang="EN-US" link="blue" vlink="purple"><div class="m_7802112391481312989WordSection1"><p class="MsoNormal"><br>
Roughly sounds OK to me, with some comments about that (and/or maybe a typedef/opaque handle type or something - and document the ownership where that type is defined)<br>
<br>
<span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u><u></u></span></p></div></div><div lang="EN-US" link="blue" vlink="purple"><div class="m_7802112391481312989WordSection1"><p class="MsoNormal"></p>
<p class="MsoNormal"><a name="m_7802112391481312989__MailEndCompose"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">It's a nested class, the only way I know to make it opaque is to un-nest it so it can be forward-declared (affecting not a huge number
 of other places).  Or make this one a void* and cast it once we actually want to do something with it, but this data gets passed through a bunch of APIs and using void* seems bad for self-documentation purposes.<u></u><u></u></span></a></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">So, I'm willing to un-nest the class as a pre-req refactor, or do something else you suggest, but I'd rather not do void*.</span></p></div></div></blockquote><div><br>Oh, I mostly just meant a wrapper around MD5::MD5Result* - either a typedef (MD5Handle) or class to wrape that. But that's probably not all that necessary/useful -  just tossing some ideas around in case they sound good/inspire other, better ideas.<br><br>- Dave<br> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="EN-US" link="blue" vlink="purple"><div class="m_7802112391481312989WordSection1"><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">--paulr<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal" style="margin-bottom:12.0pt"><a href="https://reviews.llvm.org/D41846" target="_blank">https://reviews.llvm.org/D41846</a><br>
<br>
<br>
<u></u><u></u></p>
</blockquote>
</div>
</div>
</div>
</div>
</div>

</blockquote></div></div>