eugenis added a comment.

I've wrote down my understanding of the problem in ABIVersioning.rst.
AFAIK, Howard added the attribute so he might know more about it.

Why does windows need this attributes in the unstable abi build?

Hidden visibility and always_inline work together for the same goal, so I'm 
removing them both. Keeping hidden visibility but removing always inline would 
break things because user code will expect external definitions for class 
members that would not be there.

Other approaches don't work for class members. AFAIK, there is no way in C++ to 
declare a class member function to have an internal linkage. In C this is done 
with the "static" keywords, but C++ went ahead an redefined it to mean 
something completely different.

One idea that we had for this was to introduce a 
__attribute__((internal_linkage)) and use it in place of always_inline with the 
supporting compiler.

I remeasured the test suite speed up on a different, faster machine and it is 
just 10%. Still quite a lot.


Repository:
  rL LLVM

http://reviews.llvm.org/D13713



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to