mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-02-14 14:00:21 +08:00
atomic_base.h: Don't include <cstddef>, use nullptr.
2012-11-06 Paolo Carlini <paolo.carlini@oracle.com> * include/bits/atomic_base.h: Don't include <cstddef>, use nullptr. * include/std/atomic: Likewise. * include/tr2/dynamic_bitset: Likewise. * libsupc++/vec.cc (compute_size(std::size_t, std::size_t, std::size_t)): Fix for -fno-exceptions. From-SVN: r193232
This commit is contained in:
parent
1115dd7ed7
commit
c4ae987730
@ -1,3 +1,12 @@
|
||||
2012-11-06 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
|
||||
* include/bits/atomic_base.h: Don't include <cstddef>, use nullptr.
|
||||
* include/std/atomic: Likewise.
|
||||
* include/tr2/dynamic_bitset: Likewise.
|
||||
|
||||
* libsupc++/vec.cc (compute_size(std::size_t, std::size_t,
|
||||
std::size_t)): Fix for -fno-exceptions.
|
||||
|
||||
2012-11-06 Jonathan Wakely <jwakely.gcc@gmail.com>
|
||||
|
||||
* include/profile/map.h (map::emplace_hint): Add missing return.
|
||||
|
@ -1,6 +1,6 @@
|
||||
// -*- C++ -*- header.
|
||||
|
||||
// Copyright (C) 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
|
||||
// Copyright (C) 2008-2012 Free Software Foundation, Inc.
|
||||
//
|
||||
// This file is part of the GNU ISO C++ Library. This library is free
|
||||
// software; you can redistribute it and/or modify it under the
|
||||
@ -35,7 +35,6 @@
|
||||
#include <bits/c++config.h>
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
#include <cstddef>
|
||||
#include <bits/atomic_lockfree_defines.h>
|
||||
|
||||
namespace std _GLIBCXX_VISIBILITY(default)
|
||||
@ -423,11 +422,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
|
||||
bool
|
||||
is_lock_free() const noexcept
|
||||
{ return __atomic_is_lock_free(sizeof(_M_i), NULL); }
|
||||
{ return __atomic_is_lock_free(sizeof(_M_i), nullptr); }
|
||||
|
||||
bool
|
||||
is_lock_free() const volatile noexcept
|
||||
{ return __atomic_is_lock_free(sizeof(_M_i), NULL); }
|
||||
{ return __atomic_is_lock_free(sizeof(_M_i), nullptr); }
|
||||
|
||||
void
|
||||
store(__int_type __i, memory_order __m = memory_order_seq_cst) noexcept
|
||||
@ -717,11 +716,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
|
||||
bool
|
||||
is_lock_free() const noexcept
|
||||
{ return __atomic_is_lock_free(_M_type_size(1), NULL); }
|
||||
{ return __atomic_is_lock_free(_M_type_size(1), nullptr); }
|
||||
|
||||
bool
|
||||
is_lock_free() const volatile noexcept
|
||||
{ return __atomic_is_lock_free(_M_type_size(1), NULL); }
|
||||
{ return __atomic_is_lock_free(_M_type_size(1), nullptr); }
|
||||
|
||||
void
|
||||
store(__pointer_type __p,
|
||||
|
@ -1,6 +1,6 @@
|
||||
// -*- C++ -*- header.
|
||||
|
||||
// Copyright (C) 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
|
||||
// Copyright (C) 2008-2012 Free Software Foundation, Inc.
|
||||
//
|
||||
// This file is part of the GNU ISO C++ Library. This library is free
|
||||
// software; you can redistribute it and/or modify it under the
|
||||
@ -184,11 +184,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
|
||||
bool
|
||||
is_lock_free() const noexcept
|
||||
{ return __atomic_is_lock_free(sizeof(_M_i), NULL); }
|
||||
{ return __atomic_is_lock_free(sizeof(_M_i), nullptr); }
|
||||
|
||||
bool
|
||||
is_lock_free() const volatile noexcept
|
||||
{ return __atomic_is_lock_free(sizeof(_M_i), NULL); }
|
||||
{ return __atomic_is_lock_free(sizeof(_M_i), nullptr); }
|
||||
|
||||
void
|
||||
store(_Tp __i, memory_order _m = memory_order_seq_cst) noexcept
|
||||
|
@ -33,7 +33,6 @@
|
||||
|
||||
#include <limits>
|
||||
#include <vector>
|
||||
#include <cstddef> // For size_t
|
||||
#include <string>
|
||||
#include <memory> // For std::allocator
|
||||
#include <bits/functexcept.h> // For invalid_argument, out_of_range,
|
||||
|
@ -28,6 +28,7 @@
|
||||
#include <cxxabi.h>
|
||||
#include <new>
|
||||
#include <exception>
|
||||
#include <cstdlib>
|
||||
#include <bits/exception_defines.h>
|
||||
#include "unwind-cxx.h"
|
||||
|
||||
@ -65,10 +66,18 @@ namespace __cxxabiv1
|
||||
std::size_t padding_size)
|
||||
{
|
||||
if (element_size && element_count > std::size_t(-1) / element_size)
|
||||
#ifdef __EXCEPTIONS
|
||||
throw std::bad_alloc();
|
||||
#else
|
||||
std::abort();
|
||||
#endif
|
||||
std::size_t size = element_count * element_size;
|
||||
if (size + padding_size < size)
|
||||
#ifdef __EXCEPTIONS
|
||||
throw std::bad_alloc();
|
||||
#else
|
||||
std::abort();
|
||||
#endif
|
||||
return size + padding_size;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user