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

Timur Iskhodzhanov timurrrr at google.com
Wed Apr 3 01:41:01 PDT 2013


 I believe those were fixed in r178298.

2013/4/1 Michael Gottesman <mgottesman at apple.com>:
> Just as an FYI, IIRC I saw build failures a week ago due to double static
> declaration caused by a declaration like:
>
> static ALWAYS_INLINE.
>
> Michael
>
>
> On Mar 31, 2013, at 11:37 PM, Kostya Serebryany <kcc at google.com> wrote:
>
>
>
>
> 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
>>>>
>>>>
>>>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
>




More information about the llvm-commits mailing list