[PATCH] D52662: [libc++] Make sure we can build libc++ with -fvisibility=hidden

Louis Dionne via Phabricator reviews at reviews.llvm.org
Fri Sep 28 10:42:08 PDT 2018


ldionne created this revision.
ldionne added a reviewer: EricWF.
Herald added subscribers: libcxx-commits, dexonsmith, christof, mgorny.

When building with -fvisibility=hidden, some symbols do not get exported from
libc++.dylib. This means that some entities are not explicitly given default
visibility in the source code, and that we rely on the fact -fvisibility=default
is the default. This commit explicitly gives default visibility to those
symbols to avoid being dependent on the command line flags used.

Also, in the future, we may want to mark the whole std:: namespace as having
hidden visibility (to switch from opt-out to opt-in), in which case the
changes done in this commit will be required.


Repository:
  rCXX libc++

https://reviews.llvm.org/D52662

Files:
  libcxx/include/__config
  libcxx/include/__debug
  libcxx/include/__functional_base
  libcxx/include/__locale
  libcxx/include/__mutex_base
  libcxx/include/charconv
  libcxx/include/locale
  libcxx/include/thread
  libcxx/include/utility
  libcxx/lib/CMakeLists.txt
  libcxx/src/iostream.cpp
  libcxx/src/thread.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D52662.167511.patch
Type: text/x-patch
Size: 9387 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20180928/a1e3f692/attachment.bin>


More information about the libcxx-commits mailing list