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

Kostya Serebryany kcc at google.com
Sun Mar 31 23:37:52 PDT 2013


On Fri, Mar 29, 2013 at 7:42 PM, Timur Iskhodzhanov <timurrrr at google.com>wrote:

> Should be easy to fix in accordance to the standard, e.g
>
> foo.h:
> void Foo();
>
> foo.cpp:
> void FooInlined() { ... }
>
I ended up using the "used" attribute.

--kcc


> 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/20130401/0b5e85b7/attachment.html>


More information about the llvm-commits mailing list