diff options
| author | Louis Dionne <ldionne@apple.com> | 2018-10-25 12:13:43 +0000 |
|---|---|---|
| committer | Louis Dionne <ldionne@apple.com> | 2018-10-25 12:13:43 +0000 |
| commit | 9b3222f6134f40b68e16faf694ed9e97bc9fd325 (patch) | |
| tree | 701f6ead66e1873d6cbab03cf2d4917c61417822 /libcxx/include/charconv | |
| parent | 77c26aebdaae0196fc131eb3b613dac3b0023814 (diff) | |
| download | bcm5719-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/charconv')
| -rw-r--r-- | libcxx/include/charconv | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/libcxx/include/charconv b/libcxx/include/charconv index 7cb790e1bee..c0cb9c52aa9 100644 --- a/libcxx/include/charconv +++ b/libcxx/include/charconv @@ -89,6 +89,11 @@ namespace std { _LIBCPP_BEGIN_NAMESPACE_STD +namespace __itoa { +_LIBCPP_FUNC_VIS char* __u64toa(uint64_t __value, char* __buffer); +_LIBCPP_FUNC_VIS char* __u32toa(uint32_t __value, char* __buffer); +} + #if _LIBCPP_STD_VER > 11 enum class _LIBCPP_ENUM_VIS chars_format @@ -147,9 +152,6 @@ static constexpr uint32_t __pow10_32[] = { UINT32_C(1000000000), }; -_LIBCPP_FUNC_VIS char* __u64toa(uint64_t __value, char* __buffer); -_LIBCPP_FUNC_VIS char* __u32toa(uint32_t __value, char* __buffer); - template <typename _Tp, typename = void> struct _LIBCPP_HIDDEN __traits_base { |

