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:
Paolo Carlini 2012-11-06 11:03:45 +00:00 committed by Paolo Carlini
parent 1115dd7ed7
commit c4ae987730
5 changed files with 26 additions and 10 deletions

View File

@ -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.

View File

@ -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,

View File

@ -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

View File

@ -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,

View File

@ -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;
}
}