From c4ae9877307939806b3f161f55ce635002227bad Mon Sep 17 00:00:00 2001 From: Paolo Carlini Date: Tue, 6 Nov 2012 11:03:45 +0000 Subject: [PATCH] atomic_base.h: Don't include , use nullptr. 2012-11-06 Paolo Carlini * include/bits/atomic_base.h: Don't include , 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 --- libstdc++-v3/ChangeLog | 9 +++++++++ libstdc++-v3/include/bits/atomic_base.h | 11 +++++------ libstdc++-v3/include/std/atomic | 6 +++--- libstdc++-v3/include/tr2/dynamic_bitset | 1 - libstdc++-v3/libsupc++/vec.cc | 9 +++++++++ 5 files changed, 26 insertions(+), 10 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index e85de72..5a252ed 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,12 @@ +2012-11-06 Paolo Carlini + + * include/bits/atomic_base.h: Don't include , 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 * include/profile/map.h (map::emplace_hint): Add missing return. diff --git a/libstdc++-v3/include/bits/atomic_base.h b/libstdc++-v3/include/bits/atomic_base.h index af8a924..8ce5553 100644 --- a/libstdc++-v3/include/bits/atomic_base.h +++ b/libstdc++-v3/include/bits/atomic_base.h @@ -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 #include #include -#include #include 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, diff --git a/libstdc++-v3/include/std/atomic b/libstdc++-v3/include/std/atomic index 535a90f..4f9cd50 100644 --- a/libstdc++-v3/include/std/atomic +++ b/libstdc++-v3/include/std/atomic @@ -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 diff --git a/libstdc++-v3/include/tr2/dynamic_bitset b/libstdc++-v3/include/tr2/dynamic_bitset index 53b696f..5ea0ea5d 100644 --- a/libstdc++-v3/include/tr2/dynamic_bitset +++ b/libstdc++-v3/include/tr2/dynamic_bitset @@ -33,7 +33,6 @@ #include #include -#include // For size_t #include #include // For std::allocator #include // For invalid_argument, out_of_range, diff --git a/libstdc++-v3/libsupc++/vec.cc b/libstdc++-v3/libsupc++/vec.cc index f9afd39..507514e 100644 --- a/libstdc++-v3/libsupc++/vec.cc +++ b/libstdc++-v3/libsupc++/vec.cc @@ -28,6 +28,7 @@ #include #include #include +#include #include #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; } } -- 2.7.4