diff options
| author | Louis Dionne <ldionne@apple.com> | 2019-03-19 17:47:53 +0000 |
|---|---|---|
| committer | Louis Dionne <ldionne@apple.com> | 2019-03-19 17:47:53 +0000 |
| commit | afd1a23ffb213277139cf8c15023f327635433bb (patch) | |
| tree | 9fa7f5ac316f686abc366814f52b4e8a45abb366 /libcxx | |
| parent | 60be633a4717f5a8bfba1cfdcbd760780b263a43 (diff) | |
| download | bcm5719-llvm-afd1a23ffb213277139cf8c15023f327635433bb.tar.gz bcm5719-llvm-afd1a23ffb213277139cf8c15023f327635433bb.zip | |
[libc++] Mark internal types of std::filesystem as hidden
Summary:
Otherwise, implicit instantiations of templates with these types can
cause the dylib to start exporting the vtable/RTTI of the instantiation.
Giving hidden visibility to those types causes the compiler to understand
that they are not used outside the dylib, and as a result implicitly
instantiated vtables/RTTI of templates with those internal types will
get hidden visibility.
Reviewers: EricWF
Subscribers: christof, jkorous, dexonsmith, jdoerfert, libcxx-commits
Differential Revision: https://reviews.llvm.org/D59550
llvm-svn: 356488
Diffstat (limited to 'libcxx')
| -rw-r--r-- | libcxx/include/filesystem | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libcxx/include/filesystem b/libcxx/include/filesystem index 7a151d98864..d599b54031c 100644 --- a/libcxx/include/filesystem +++ b/libcxx/include/filesystem @@ -1350,7 +1350,7 @@ public: void __create_what(int __num_paths); private: - struct _Storage { + struct _LIBCPP_HIDDEN _Storage { _LIBCPP_INLINE_VISIBILITY _Storage(const path& __p1, const path& __p2) : __p1_(__p1), __p2_(__p2) {} @@ -1934,7 +1934,7 @@ inline _LIBCPP_INLINE_VISIBILITY path weakly_canonical(path const& __p, class directory_iterator; class recursive_directory_iterator; -class __dir_stream; +class _LIBCPP_HIDDEN __dir_stream; class directory_entry { typedef _VSTD_FS::path _Path; @@ -2597,7 +2597,7 @@ private: operator==(const recursive_directory_iterator&, const recursive_directory_iterator&) noexcept; - struct __shared_imp; + struct _LIBCPP_HIDDEN __shared_imp; shared_ptr<__shared_imp> __imp_; bool __rec_; }; // class recursive_directory_iterator |

