<div dir="ltr">I don't have an objection having another interface which is just a simple wrapper to __gcov_flush but with default visibility. Also clearly document its usage and behavior.<div><br></div><div>David</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jun 25, 2018 at 10:12 AM, Chih-Hung Hsieh via Phabricator via llvm-commits <span dir="ltr"><<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">chh added a comment.<br>
<span class=""><br>
In <a href="https://reviews.llvm.org/D45454#1142197" rel="noreferrer" target="_blank">https://reviews.llvm.org/<wbr>D45454#1142197</a>, @marco-c wrote:<br>
<br>
> In <a href="https://reviews.llvm.org/D45454#1070884" rel="noreferrer" target="_blank">https://reviews.llvm.org/<wbr>D45454#1070884</a>, @belleyb wrote:<br>
><br>
> > @chh I had a chance to try out your proposed changes. It's not causing us any trouble. In fact, `__gcov_flush()` is not even used at all (at least in LLVM 5.0.1).. I can recompile llvm, compiler_rt and clang and re-run all the tests with `__gcov_flush` commented out! No problem.<br>
> ><br>
> > I would suggest adding a bit more documentation to `__gcov_flush()`, thus describing what those "special cases" are...<br>
><br>
><br>
> __gcov_flush is only used if you actually call it (it's needed for example if you want to profile only part of your program).<br>
><br>
> In GCC, __gcov_flush is not hidden, so perhaps we should do the same to keep the same behavior? I've also submitted <a href="https://reviews.llvm.org/D48538" rel="noreferrer" target="_blank">https://reviews.llvm.org/<wbr>D48538</a>, which is making __gcov_flush flush counters for all shared libraries (like GCC does, with the same caveat: <a href="https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83879" rel="noreferrer" target="_blank">https://gcc.gnu.org/bugzilla/<wbr>show_bug.cgi?id=83879</a>).<br>
<br>
<br>
</span>I have no problem keeping these functions compatible with GCC.<br>
My earlier proposal and David's comment in the mailing list seemed to be lost and not showing here.<br>
So, let me summarize the case here. This change should make `__gcov_flush` not hidden as before in GCC,<br>
but earlier change made it hidden as well as other `llvm_gov_*` functions.<br>
Could we have both `__gov_flush` and `llvm_gov_flush` functions, one unhidden and one hidden?<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
<a href="https://reviews.llvm.org/D45454" rel="noreferrer" target="_blank">https://reviews.llvm.org/<wbr>D45454</a><br>
<br>
<br>
<br>
______________________________<wbr>_________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-commits</a><br>
</div></div></blockquote></div><br></div>