[compiler-rt] r178290 - Remove all 'static' before ALWAYS_INLINE

Timur Iskhodzhanov timurrrr at google.com
Fri Mar 29 08:42:03 PDT 2013


Should be easy to fix in accordance to the standard, e.g

foo.h:
void Foo();

foo.cpp:
void FooInlined() { ... }

void Foo() { FooInlined(); }

I think we did smth like this in TSanv1?
29.03.2013 1:40 пользователь "Kostya Serebryany" <kcc at google.com> написал:

> BTW, these changes killed tsan performance. (disabled inlining in key
> places).
>
>
> On Fri, Mar 29, 2013 at 11:06 AM, Kostya Serebryany <kcc at google.com>wrote:
>
>>
>>
>>
>> On Fri, Mar 29, 2013 at 2:19 AM, Timur Iskhodzhanov <timurrrr at google.com>wrote:
>>
>>> ... another option is to remove 'static' from INLINE and ALWAYS_INLINE.
>>> I think this is the way to go long-term, but the problem here is that
>>> if I just remove it from there, this WILL leak into the public
>>> namespace.
>>> That means, any existing INLINE should be replaced with "static
>>> INLINE", similar for ALWAYS_INLINE.
>>>
>>> Unfortunately, I don't have enough tools right now to fix that
>>> properly and verify it and I do want to fix the builds.
>>> We're discussing the options and will come up with as a long-term
>>> solution.
>>>
>>
>> The only long-term solution is to build our run-time with clang, even on
>> windows.
>> It might as well be a short-term solution.
>>
>> --kcc
>>
>>
>>>
>>> 2013/3/28 Timur Iskhodzhanov <timurrrr at google.com>:
>>> > 2013/3/28 Joerg Sonnenberger <joerg at britannica.bec.de>:
>>> >> On Thu, Mar 28, 2013 at 09:16:09PM -0000, Timur Iskhodzhanov wrote:
>>> >>> Author: timurrrr
>>> >>> Date: Thu Mar 28 16:16:09 2013
>>> >>> New Revision: 178290
>>> >>>
>>> >>> URL: http://llvm.org/viewvc/llvm-project?rev=178290&view=rev
>>> >>> Log:
>>> >>> Remove all 'static' before ALWAYS_INLINE
>>> >>
>>> >> Why? It is useful to make very clear that the symbols are not leaked
>>> >> into the public namespace.
>>> > I think I agree, this is one of the things we're discussing regarding
>>> > the recent discovery of the INLINE macro misuse zoo in the sanitizers
>>> > world.
>>> > Looping in more people FYI.
>>> >
>>> >> Joerg
>>> >> _______________________________________________
>>> >> llvm-commits mailing list
>>> >> llvm-commits at cs.uiuc.edu
>>> >> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130329/c0755abd/attachment.html>


More information about the llvm-commits mailing list