summaryrefslogtreecommitdiffstats
path: root/libcxx/include/__functional_base
diff options
context:
space:
mode:
authorLouis Dionne <ldionne@apple.com>2018-10-25 12:13:43 +0000
committerLouis Dionne <ldionne@apple.com>2018-10-25 12:13:43 +0000
commit9b3222f6134f40b68e16faf694ed9e97bc9fd325 (patch)
tree701f6ead66e1873d6cbab03cf2d4917c61417822 /libcxx/include/__functional_base
parent77c26aebdaae0196fc131eb3b613dac3b0023814 (diff)
downloadbcm5719-llvm-9b3222f6134f40b68e16faf694ed9e97bc9fd325.tar.gz
bcm5719-llvm-9b3222f6134f40b68e16faf694ed9e97bc9fd325.zip
[libc++] Make sure we can build libc++ with -fvisibility=hidden
Summary: 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. The commit also remove symbols from the dylib -- those symbols do not actually need to be exported from the dylib and this should not be an ABI break. Finally, 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. Reviewers: EricWF Subscribers: mgorny, christof, dexonsmith, libcxx-commits Differential Revision: https://reviews.llvm.org/D52662 llvm-svn: 345260
Diffstat (limited to 'libcxx/include/__functional_base')
-rw-r--r--libcxx/include/__functional_base2
1 files changed, 1 insertions, 1 deletions
diff --git a/libcxx/include/__functional_base b/libcxx/include/__functional_base
index 1887974398b..032be99bf6a 100644
--- a/libcxx/include/__functional_base
+++ b/libcxx/include/__functional_base
@@ -562,7 +562,7 @@ struct __is_transparent<_Tp, _Up,
struct _LIBCPP_TEMPLATE_VIS allocator_arg_t { };
#if defined(_LIBCPP_CXX03_LANG) || defined(_LIBCPP_BUILDING_LIBRARY)
-extern const allocator_arg_t allocator_arg;
+extern _LIBCPP_EXPORTED_FROM_ABI const allocator_arg_t allocator_arg;
#else
/* _LIBCPP_INLINE_VAR */ constexpr allocator_arg_t allocator_arg = allocator_arg_t();
#endif
OpenPOWER on IntegriCloud