std_memory.h (__get_temporary_buffer): Don't use INT_MAX...
2004-10-09 Paolo Carlini <pcarlini@suse.de> * include/std/std_memory.h (__get_temporary_buffer): Don't use INT_MAX, prefer numeric_limits<ptrdiff_t>::max(), ok on 64-bit platforms too. * testsuite/20_util/memory/auto_ptr/assign_neg.cc: Adjust dg-error line numbers. From-SVN: r88814
This commit is contained in:
parent
c3e7f18406
commit
dafa8871d1
3 changed files with 15 additions and 5 deletions
|
@ -1,3 +1,11 @@
|
|||
2004-10-09 Paolo Carlini <pcarlini@suse.de>
|
||||
|
||||
* include/std/std_memory.h (__get_temporary_buffer): Don't use
|
||||
INT_MAX, prefer numeric_limits<ptrdiff_t>::max(), ok on 64-bit
|
||||
platforms too.
|
||||
* testsuite/20_util/memory/auto_ptr/assign_neg.cc: Adjust dg-error
|
||||
line numbers.
|
||||
|
||||
2004-10-08 Benjamin Kosnik <bkoz@redhat.com>
|
||||
|
||||
* acconfig.h: Add _GLIBCXX_USE___CXA_ATEXIT.
|
||||
|
|
|
@ -58,6 +58,7 @@
|
|||
#include <bits/stl_uninitialized.h>
|
||||
#include <bits/stl_raw_storage_iter.h>
|
||||
#include <debug/debug.h>
|
||||
#include <limits>
|
||||
|
||||
namespace std
|
||||
{
|
||||
|
@ -73,8 +74,9 @@ namespace std
|
|||
pair<_Tp*, ptrdiff_t>
|
||||
__get_temporary_buffer(ptrdiff_t __len, _Tp*)
|
||||
{
|
||||
if (__len > ptrdiff_t(INT_MAX / sizeof(_Tp)))
|
||||
__len = INT_MAX / sizeof(_Tp);
|
||||
const ptrdiff_t __max = numeric_limits<ptrdiff_t>::max() / sizeof(_Tp);
|
||||
if (__len > __max)
|
||||
__len = __max;
|
||||
|
||||
while (__len > 0)
|
||||
{
|
||||
|
@ -105,7 +107,7 @@ namespace std
|
|||
* Provides the nothrow exception guarantee.
|
||||
*/
|
||||
template<typename _Tp>
|
||||
inline pair<_Tp*,ptrdiff_t>
|
||||
inline pair<_Tp*, ptrdiff_t>
|
||||
get_temporary_buffer(ptrdiff_t __len)
|
||||
{ return std::__get_temporary_buffer(__len, static_cast<_Tp*>(0)); }
|
||||
|
||||
|
|
|
@ -46,5 +46,5 @@ main()
|
|||
test01();
|
||||
return 0;
|
||||
}
|
||||
// { dg-error "candidates" "" { target *-*-* } 222 }
|
||||
// { dg-error "std::auto_ptr" "" { target *-*-* } 352 }
|
||||
// { dg-error "candidates" "" { target *-*-* } 224 }
|
||||
// { dg-error "std::auto_ptr" "" { target *-*-* } 354 }
|
||||
|
|
Loading…
Add table
Reference in a new issue