[libcxx-commits] [libcxx] r356488 - [libc++] Mark internal types of std::filesystem as hidden
Louis Dionne via libcxx-commits
libcxx-commits at lists.llvm.org
Tue Mar 19 10:47:53 PDT 2019
Author: ldionne
Date: Tue Mar 19 10:47:53 2019
New Revision: 356488
URL: http://llvm.org/viewvc/llvm-project?rev=356488&view=rev
Log:
[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
Modified:
libcxx/trunk/include/filesystem
Modified: libcxx/trunk/include/filesystem
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/filesystem?rev=356488&r1=356487&r2=356488&view=diff
==============================================================================
--- libcxx/trunk/include/filesystem (original)
+++ libcxx/trunk/include/filesystem Tue Mar 19 10:47:53 2019
@@ -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 we
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
More information about the libcxx-commits
mailing list