re PR libstdc++/68276 (ios_base::_M_grow_words should use new (std::nothrow))
2015-12-18 Ville Voutilainen <ville.voutilainen@gmail.com> PR libstdc++/68276 * src/c++11/ios.cc (_M_grow_words): Use nothrow new. * testsuite/27_io/ios_base/storage/11584.cc: Adjust. From-SVN: r231819
This commit is contained in:
parent
15ab6f00bc
commit
03d5d0c353
3 changed files with 13 additions and 7 deletions
|
@ -1,3 +1,10 @@
|
|||
2015-12-18 Ville Voutilainen <ville.voutilainen@gmail.com>
|
||||
|
||||
PR libstdc++/68276
|
||||
|
||||
* src/c++11/ios.cc (_M_grow_words): Use nothrow new.
|
||||
* testsuite/27_io/ios_base/storage/11584.cc: Adjust.
|
||||
|
||||
2015-12-18 Andris Pavenis <andris.pavenis@iki.fi>
|
||||
|
||||
* config/os/djgpp/error_constants.h: update according to DJGPP errno
|
||||
|
|
|
@ -121,9 +121,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
if (__ix < numeric_limits<int>::max())
|
||||
{
|
||||
__newsize = __ix + 1;
|
||||
__try
|
||||
{ __words = new _Words[__newsize]; }
|
||||
__catch(const std::bad_alloc&)
|
||||
__words = new (std::nothrow) _Words[__newsize];
|
||||
if (!__words)
|
||||
{
|
||||
_M_streambuf_state |= badbit;
|
||||
if (_M_streambuf_state & _M_exception)
|
||||
|
|
|
@ -26,14 +26,14 @@
|
|||
|
||||
int new_fails;
|
||||
|
||||
void* operator new(std::size_t n) throw (std::bad_alloc)
|
||||
void* operator new(std::size_t n, const std::nothrow_t&) throw()
|
||||
{
|
||||
if (new_fails)
|
||||
throw std::bad_alloc();
|
||||
return 0;
|
||||
return malloc(n);
|
||||
}
|
||||
void* operator new[] (std::size_t n) throw (std::bad_alloc)
|
||||
{ return operator new(n); }
|
||||
void* operator new[] (std::size_t n, const std::nothrow_t& ntt) throw()
|
||||
{ return operator new(n, ntt); }
|
||||
|
||||
void operator delete (void *p) throw() { free(p); }
|
||||
void operator delete[] (void *p) throw() { operator delete(p); }
|
||||
|
|
Loading…
Add table
Reference in a new issue