system_error (error_category::error_category()): LWG 2145: Declare public and constexpr.

* include/std/system_error (error_category::error_category()): LWG
	2145: Declare public and constexpr.
	* src/c++11/system_error.cc (error_category::error_category()): Move
	definition to ...
	* src/c++11/compatibility-c++0x.cc: Here.

From-SVN: r199071
This commit is contained in:
Jonathan Wakely 2013-05-18 23:11:48 +00:00 committed by Jonathan Wakely
parent f92126ba39
commit f891e5d196
4 changed files with 19 additions and 6 deletions

View File

@ -1,3 +1,11 @@
2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/std/system_error (error_category::error_category()): LWG
2145: Declare public and constexpr.
* src/c++11/system_error.cc (error_category::error_category()): Move
definition to ...
* src/c++11/compatibility-c++0x.cc: Here.
2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/std/typeindex (type_index::name()): LWG 2144: Add noexcept.

View File

@ -65,11 +65,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
/// error_category
class error_category
{
protected:
error_category() noexcept;
public:
virtual ~error_category() noexcept;
#ifdef _GLIBCXX_COMPATIBILITY_CXX0X
error_category() noexcept;
#else
constexpr error_category() noexcept = default;
#endif
virtual ~error_category();
error_category(const error_category&) = delete;
error_category& operator=(const error_category&) = delete;

View File

@ -119,6 +119,10 @@ namespace std _GLIBCXX_VISIBILITY(default)
};
constexpr bool system_clock::is_monotonic;
} // namespace chrono
// gcc-4.9.0
// LWG 2145 changes this constructor to constexpr i.e. inline
error_category::error_category() noexcept = default;
}
#endif

View File

@ -70,8 +70,6 @@ namespace std _GLIBCXX_VISIBILITY(default)
{
_GLIBCXX_BEGIN_NAMESPACE_VERSION
error_category::error_category() noexcept = default;
error_category::~error_category() noexcept = default;
const error_category&