diff options
| author | paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-09-16 14:55:37 +0000 |
|---|---|---|
| committer | paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-09-16 14:55:37 +0000 |
| commit | b77e33ca84d0531e7ce9bf81e2bbe22a7b3ee26a (patch) | |
| tree | 62c67233a98b4b2f7d6e793a4fc989df02ce2345 /libstdc++-v3/include/std/system_error | |
| parent | ab46452bfc2ea7bc119995ce666efec29d65c9c8 (diff) | |
| download | ppe42-gcc-b77e33ca84d0531e7ce9bf81e2bbe22a7b3ee26a.tar.gz ppe42-gcc-b77e33ca84d0531e7ce9bf81e2bbe22a7b3ee26a.zip | |
2010-09-16 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/system_error (system_error::system_error(error_code),
system_error(error_code, const string&), system_error(int, const
error_category&), system_error(int, const error_category&,
const string&)): Fix for what() to return the NBTS recommended in
the Note in 19.5.6.2/14.
* testsuite/19_diagnostics/system_error/cons-1.cc: Adjust.
* testsuite/19_diagnostics/system_error/what-1.cc: Likewise.
* testsuite/19_diagnostics/system_error/what-2.cc: Likewise.
* testsuite/19_diagnostics/system_error/what-big.cc: Likewise.
* testsuite/19_diagnostics/system_error/what-3.cc: Likewise.
* testsuite/19_diagnostics/system_error/what-4.cc: Tidy includes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164339 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/include/std/system_error')
| -rw-r--r-- | libstdc++-v3/include/std/system_error | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/libstdc++-v3/include/std/system_error b/libstdc++-v3/include/std/system_error index e2242427e2e..2c968e92e90 100644 --- a/libstdc++-v3/include/std/system_error +++ b/libstdc++-v3/include/std/system_error @@ -311,26 +311,29 @@ _GLIBCXX_BEGIN_NAMESPACE(std) public: system_error(error_code __ec = error_code()) - : runtime_error(""), _M_code(__ec) { } + : runtime_error(__ec.message()), _M_code(__ec) { } system_error(error_code __ec, const string& __what) - : runtime_error(__what), _M_code(__ec) { } - + : runtime_error(__what + ": " + __ec.message()), _M_code(__ec) { } + /* * TODO: Add const char* ctors to all exceptions. * * system_error(error_code __ec, const char* __what) - * : runtime_error(__what), _M_code(__ec) { } + * : runtime_error(__what + (": " + __ec.message())), _M_code(__ec) { } * * system_error(int __v, const error_category& __ecat, const char* __what) - * : runtime_error(__what), _M_code(error_code(__v, __ecat)) { } + * : runtime_error(__what + (": " + __ec.message())), + * _M_code(error_code(__v, __ecat)) { } */ system_error(int __v, const error_category& __ecat) - : runtime_error(""), _M_code(error_code(__v, __ecat)) { } + : runtime_error(error_code(__v, __ecat).message()), + _M_code(__v, __ecat) { } system_error(int __v, const error_category& __ecat, const string& __what) - : runtime_error(__what), _M_code(error_code(__v, __ecat)) { } + : runtime_error(__what + ": " + error_code(__v, __ecat).message()), + _M_code(__v, __ecat) { } virtual ~system_error() throw(); |

