Commit d4083c80 by Paolo Carlini Committed by Paolo Carlini

re PR libstdc++/31777 (GLIBCXX_FORCE_NEW doesn't always work in pool_allocator)

2007-05-02  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/31777
	* include/ext/pool_allocator.h (__pool_alloc<>::allocate,
	__pool_alloc<>::deallocate): Fix _S_force_new check.

From-SVN: r124355
parent c5b75e95
2007-05-02 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/31777
* include/ext/pool_allocator.h (__pool_alloc<>::allocate,
__pool_alloc<>::deallocate): Fix _S_force_new check.
2007-05-01 Benjamin Kosnik <bkoz@redhat.com>
* 23_containers/requirements/sequences/dr438/deque/*: Move to...
......
// Allocators -*- C++ -*-
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
......@@ -212,7 +212,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
}
const size_t __bytes = __n * sizeof(_Tp);
if (__bytes > size_t(_S_max_bytes) || _S_force_new == 1)
if (__bytes > size_t(_S_max_bytes) || _S_force_new > 0)
__ret = static_cast<_Tp*>(::operator new(__bytes));
else
{
......@@ -241,7 +241,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
if (__builtin_expect(__n != 0 && __p != 0, true))
{
const size_t __bytes = __n * sizeof(_Tp);
if (__bytes > static_cast<size_t>(_S_max_bytes) || _S_force_new == 1)
if (__bytes > static_cast<size_t>(_S_max_bytes) || _S_force_new > 0)
::operator delete(__p);
else
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment