aboutsummaryrefslogtreecommitdiff
path: root/libcxx/include/algorithm
diff options
context:
space:
mode:
authorLouis Dionne <ldionne@apple.com>2018-11-21 16:24:46 +0000
committerLouis Dionne <ldionne@apple.com>2018-11-21 16:24:46 +0000
commit835140a4277e8f0ab6b7436a04c23f1c3a7b51c4 (patch)
tree98a996c22098419fe74fb625bd81da82d21a13fd /libcxx/include/algorithm
parent2c513f5b4b28f42657eccc7a7156db6cd3e1d5ad (diff)
downloadllvm-835140a4277e8f0ab6b7436a04c23f1c3a7b51c4.zip
llvm-835140a4277e8f0ab6b7436a04c23f1c3a7b51c4.tar.gz
llvm-835140a4277e8f0ab6b7436a04c23f1c3a7b51c4.tar.bz2
[libcxx] Make sure we can build with -fvisibility=hidden on Linux
Summary: This commit marks a few functions as hidden and removes them from the ABI list on Linux such that libc++ can be built with -fvisibility=hidden. The functions marked as hidden by this patch were exported from the shared object only because they were implicitly instantiated function templates. It is safe to stop exporting those symbols from the shared object because nobody could actually depend on them: implicit instantiations are not taken from shared objects. The symbols removed in this commit are basically the same that had been removed in https://reviews.llvm.org/D53868, but that patch had to be reverted because it broke the build (because the functions were not marked as hidden like this patch does). Reviewers: EricWF, mclow.lists Subscribers: christof, jkorous, dexonsmith, libcxx-commits Differential Revision: https://reviews.llvm.org/D54639 llvm-svn: 347395
Diffstat (limited to 'libcxx/include/algorithm')
-rw-r--r--libcxx/include/algorithm1
1 files changed, 1 insertions, 0 deletions
diff --git a/libcxx/include/algorithm b/libcxx/include/algorithm
index beee6b5..9f425cf 100644
--- a/libcxx/include/algorithm
+++ b/libcxx/include/algorithm
@@ -3611,6 +3611,7 @@ __sort4(_ForwardIterator __x1, _ForwardIterator __x2, _ForwardIterator __x3,
// stable, 4-10 compares, 0-9 swaps
template <class _Compare, class _ForwardIterator>
+_LIBCPP_HIDDEN
unsigned
__sort5(_ForwardIterator __x1, _ForwardIterator __x2, _ForwardIterator __x3,
_ForwardIterator __x4, _ForwardIterator __x5, _Compare __c)