<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Mar 29, 2013 at 7:42 PM, Timur Iskhodzhanov <span dir="ltr"><<a href="mailto:timurrrr@google.com" target="_blank">timurrrr@google.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p>Should be easy to fix in accordance to the standard, e.g</p>
<p>foo.h:<br>
void Foo();</p>
<p>foo.cpp:<br>
void FooInlined() { ... }</p></blockquote><div style>I ended up using the "used" attribute. </div><div style><br></div><div style>--kcc </div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<p>void Foo() { FooInlined(); }</p>
<p>I think we did smth like this in TSanv1?</p>
<div class="gmail_quote">29.03.2013 1:40 пользователь "Kostya Serebryany" <<a href="mailto:kcc@google.com" target="_blank">kcc@google.com</a>> написал:<div><div class="h5"><br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div dir="ltr">BTW, these changes killed tsan performance. (disabled inlining in key places). </div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Mar 29, 2013 at 11:06 AM, Kostya Serebryany <span dir="ltr"><<a href="mailto:kcc@google.com" target="_blank">kcc@google.com</a>></span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote"><div>On Fri, Mar 29, 2013 at 2:19 AM, Timur Iskhodzhanov <span dir="ltr"><<a href="mailto:timurrrr@google.com" target="_blank">timurrrr@google.com</a>></span> wrote:<br>



<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">... another option is to remove 'static' from INLINE and ALWAYS_INLINE.<br>
I think this is the way to go long-term, but the problem here is that<br>
if I just remove it from there, this WILL leak into the public<br>
namespace.<br>
That means, any existing INLINE should be replaced with "static<br>
INLINE", similar for ALWAYS_INLINE.<br>
<br>
Unfortunately, I don't have enough tools right now to fix that<br>
properly and verify it and I do want to fix the builds.<br>
We're discussing the options and will come up with as a long-term solution.<br></blockquote><div><br></div></div><div>The only long-term solution is to build our run-time with clang, even on windows.</div><div>
It might as well be a short-term solution. </div><div><br></div><div>--kcc </div><div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
2013/3/28 Timur Iskhodzhanov <<a href="mailto:timurrrr@google.com" target="_blank">timurrrr@google.com</a>>:<br>
<div><div>> 2013/3/28 Joerg Sonnenberger <<a href="mailto:joerg@britannica.bec.de" target="_blank">joerg@britannica.bec.de</a>>:<br>
>> On Thu, Mar 28, 2013 at 09:16:09PM -0000, Timur Iskhodzhanov wrote:<br>
>>> Author: timurrrr<br>
>>> Date: Thu Mar 28 16:16:09 2013<br>
>>> New Revision: 178290<br>
>>><br>
>>> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=178290&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=178290&view=rev</a><br>
>>> Log:<br>
>>> Remove all 'static' before ALWAYS_INLINE<br>
>><br>
>> Why? It is useful to make very clear that the symbols are not leaked<br>
>> into the public namespace.<br>
> I think I agree, this is one of the things we're discussing regarding<br>
> the recent discovery of the INLINE macro misuse zoo in the sanitizers<br>
> world.<br>
> Looping in more people FYI.<br>
><br>
>> Joerg<br>
>> _______________________________________________<br>
>> llvm-commits mailing list<br>
>> <a href="mailto:llvm-commits@cs.uiuc.edu" target="_blank">llvm-commits@cs.uiuc.edu</a><br>
>> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</div></div></blockquote></div></div><br></div></div>
</blockquote></div><br></div>
</blockquote></div></div></div>
</blockquote></div><br></div></div>