eugenis added dependencies: D15433: [libcxx] Remove inline/visibility 
attributes from exported template methods in valarray., D15432: [libcxx] Move 
member function definition before it's explicit template instantiation 
declaration in <valarray> to satisfy GCC..
eugenis added a comment.

Depends on http://reviews.llvm.org/D15432.
Depends on http://reviews.llvm.org/D15433.

With all that change, the switch to internal_linkage attribute removes 3 
symbols from the libc++ export table, all in basic_string:
insert(..., InputIterator
insert(..., ForwardIterator
replace(..., InputIterator

These are template methods of a template class. They are instantiated only in 
functions/methods that are marked with LIBCPP_INLINE_VISIBILITY; normally they 
are exported as linkonce_odr; after the internal_linkage switch they are not 
instantiated at all because their callers are never evaluated.

Do you think this is an ABI break?


Repository:
  rL LLVM

http://reviews.llvm.org/D14411



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

Reply via email to