[all-commits] [llvm/llvm-project] 997d41: [libc++] Instantiate additional <iostream> members...

Louis Dionne via All-commits all-commits at lists.llvm.org
Thu Nov 12 10:53:24 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 997d41cdec536a0b632505d9b0c4ab5dec5d7d12
      https://github.com/llvm/llvm-project/commit/997d41cdec536a0b632505d9b0c4ab5dec5d7d12
  Author: Louis Dionne <ldionne at apple.com>
  Date:   2020-11-12 (Thu, 12 Nov 2020)

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

  Log Message:
  -----------
  [libc++] Instantiate additional <iostream> members in the dylib

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.

Differential Revision: https://reviews.llvm.org/D90677




More information about the All-commits mailing list