This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[patch] Define non-inline destructor for filesystem_error


This fixes a linker warning on darwin, and helps compilation time and
object size on all targets by defining the key function in the
library, so the vtable and RTTI are only emitted once.

Tested x86_64-linux and powerpc-aix.
commit 8e3b9a3452172033918b80bc69d940538690bfcb
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Sat May 2 12:26:53 2015 +0100

    	* include/experimental/fs_path.h (filesystem_error::~filesystem_error):
    	Declare.
    	* src/filesystem/path.cc (filesystem_error::~filesystem_error):
    	Define.

diff --git a/libstdc++-v3/include/experimental/fs_path.h b/libstdc++-v3/include/experimental/fs_path.h
index 33a16db..d103312 100644
--- a/libstdc++-v3/include/experimental/fs_path.h
+++ b/libstdc++-v3/include/experimental/fs_path.h
@@ -531,6 +531,8 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11
     : system_error(__ec, __what_arg), _M_path1(__p1), _M_path2(__p2)
     { }
 
+    ~filesystem_error();
+
     const path& path1() const noexcept { return _M_path1; }
     const path& path2() const noexcept { return _M_path2; }
     const char* what() const noexcept { return _M_what.c_str(); }
diff --git a/libstdc++-v3/src/filesystem/path.cc b/libstdc++-v3/src/filesystem/path.cc
index 7924732..a5441b9 100644
--- a/libstdc++-v3/src/filesystem/path.cc
+++ b/libstdc++-v3/src/filesystem/path.cc
@@ -26,6 +26,8 @@
 
 using std::experimental::filesystem::path;
 
+std::experimental::filesystem::filesystem_error::~filesystem_error() = default;
+
 constexpr path::value_type path::preferred_separator;
 
 path&

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]