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

Michael Gottesman mgottesman at apple.com
Mon Apr 1 00:37:03 PDT 2013


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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130401/42720feb/attachment.html>


More information about the llvm-commits mailing list