[libcxx-commits] [PATCH] D90677: [libc++] Instantiate additional <iostream> members in the dylib

Louis Dionne via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Tue Nov 3 04:56:33 PST 2020


ldionne created this revision.
Herald added subscribers: libcxx-commits, jkorous.
Herald added a project: libc++.
Herald added a reviewer: libc++.
ldionne requested review of this revision.

This commit adds new explicit instantiations for some classes in <iostream>
in the library. This is done after noticing that many programs that use
streams end up containing weak definitions of these classes, which has a
negative impact on both code size and load times (due to the need to
resolve weak symbols at load time). Note that we are just adding the
additional explicit instantiations for the `char` specializations, since
the `wchar_t` specializations are not used as often, and as a result there
wouldn't be a clear benefit.

This change is not an ABI break, since we are just adding additional
symbols.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D90677

Files:
  libcxx/include/__config
  libcxx/include/fstream
  libcxx/include/sstream
  libcxx/lib/abi/CHANGELOG.TXT
  libcxx/lib/abi/x86_64-apple-darwin.v1.abilist
  libcxx/lib/abi/x86_64-unknown-linux-gnu.v1.abilist
  libcxx/src/ios.instantiations.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D90677.302545.patch
Type: text/x-patch
Size: 63421 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20201103/32f24bf8/attachment-0001.bin>


More information about the libcxx-commits mailing list