diff mbox

Define non-inline destructor for filesystem_error

Message ID 20150502113701.GV3618@redhat.com
State New
Headers show

Commit Message

Jonathan Wakely May 2, 2015, 11:37 a.m. UTC
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.
diff mbox

Patch

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&