acinclude.m4: Update references to final C++11 standard.

* acinclude.m4: Update references to final C++11 standard.
	* include/bits/shared_ptr.h: Likewise.
	* include/bits/shared_ptr_base.h: Likewise.
	* include/bits/unique_ptr.h: Likewise.
	* include/std/chrono: Likewise.
	* include/std/thread: Likewise.

From-SVN: r190271
This commit is contained in:
Jonathan Wakely 2012-08-09 22:45:20 +00:00 committed by Jonathan Wakely
parent 5829cc0fe4
commit 9ab48d6e6c
7 changed files with 36 additions and 27 deletions

View File

@ -1,3 +1,12 @@
2012-08-09 Jonathan Wakely <jwakely.gcc@gmail.com>
* acinclude.m4: Update references to final C++11 standard.
* include/bits/shared_ptr.h: Likewise.
* include/bits/shared_ptr_base.h: Likewise.
* include/bits/unique_ptr.h: Likewise.
* include/std/chrono: Likewise.
* include/std/thread: Likewise.
2012-08-07 Benjamin Kosnik <bkoz@redhat.com> 2012-08-07 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/54005 PR libstdc++/54005

View File

@ -1115,16 +1115,16 @@ AC_DEFUN([GLIBCXX_ENABLE_C99], [
dnl dnl
dnl Check for clock_gettime, nanosleep and sched_yield, used in the dnl Check for clock_gettime, nanosleep and sched_yield, used in the
dnl implementation of 20.8.5 [time.clock], and 30.2.2 [thread.thread.this] dnl implementation of 20.11.7 [time.clock], and 30.3.2 [thread.thread.this]
dnl in the current C++0x working draft. dnl in the C++11 standard.
dnl dnl
dnl --enable-libstdcxx-time dnl --enable-libstdcxx-time
dnl --enable-libstdcxx-time=yes dnl --enable-libstdcxx-time=yes
dnl checks for the availability of monotonic and realtime clocks, dnl checks for the availability of monotonic and realtime clocks,
dnl nanosleep and sched_yield in libc and libposix4 and, in case, links dnl nanosleep and sched_yield in libc and libposix4 and, if needed,
dnl the latter dnl links in the latter.
dnl --enable-libstdcxx-time=rt dnl --enable-libstdcxx-time=rt
dnl also searches (and, in case, links) librt. Note that this is dnl also searches (and, if needed, links) librt. Note that this is
dnl not always desirable because, in glibc, for example, in turn it dnl not always desirable because, in glibc, for example, in turn it
dnl triggers the linking of libpthread too, which activates locking, dnl triggers the linking of libpthread too, which activates locking,
dnl a large overhead for single-thread programs. dnl a large overhead for single-thread programs.
@ -1256,8 +1256,8 @@ AC_DEFUN([GLIBCXX_ENABLE_LIBSTDCXX_TIME], [
]) ])
dnl dnl
dnl Check for gettimeofday, used in the implementation of 20.8.5 dnl Check for gettimeofday, used in the implementation of 20.11.7
dnl [time.clock] in the current C++0x working draft. dnl [time.clock] in the C++11 standard.
dnl dnl
AC_DEFUN([GLIBCXX_CHECK_GETTIMEOFDAY], [ AC_DEFUN([GLIBCXX_CHECK_GETTIMEOFDAY], [

View File

@ -321,7 +321,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
allocate_shared(const _Alloc& __a, _Args&&... __args); allocate_shared(const _Alloc& __a, _Args&&... __args);
}; };
// 20.8.13.2.7 shared_ptr comparisons // 20.7.2.2.7 shared_ptr comparisons
template<typename _Tp1, typename _Tp2> template<typename _Tp1, typename _Tp2>
inline bool inline bool
operator==(const shared_ptr<_Tp1>& __a, operator==(const shared_ptr<_Tp1>& __a,
@ -425,13 +425,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
struct less<shared_ptr<_Tp>> : public _Sp_less<shared_ptr<_Tp>> struct less<shared_ptr<_Tp>> : public _Sp_less<shared_ptr<_Tp>>
{ }; { };
// 20.8.13.2.9 shared_ptr specialized algorithms. // 20.7.2.2.8 shared_ptr specialized algorithms.
template<typename _Tp> template<typename _Tp>
inline void inline void
swap(shared_ptr<_Tp>& __a, shared_ptr<_Tp>& __b) noexcept swap(shared_ptr<_Tp>& __a, shared_ptr<_Tp>& __b) noexcept
{ __a.swap(__b); } { __a.swap(__b); }
// 20.8.13.2.10 shared_ptr casts. // 20.7.2.2.9 shared_ptr casts.
template<typename _Tp, typename _Tp1> template<typename _Tp, typename _Tp1>
inline shared_ptr<_Tp> inline shared_ptr<_Tp>
static_pointer_cast(const shared_ptr<_Tp1>& __r) noexcept static_pointer_cast(const shared_ptr<_Tp1>& __r) noexcept
@ -511,7 +511,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
} }
}; };
// 20.8.13.3.7 weak_ptr specialized algorithms. // 20.7.2.3.6 weak_ptr specialized algorithms.
template<typename _Tp> template<typename _Tp>
inline void inline void
swap(weak_ptr<_Tp>& __a, weak_ptr<_Tp>& __b) noexcept swap(weak_ptr<_Tp>& __a, weak_ptr<_Tp>& __b) noexcept

View File

@ -1056,7 +1056,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
}; };
// 20.8.13.2.7 shared_ptr comparisons // 20.7.2.2.7 shared_ptr comparisons
template<typename _Tp1, typename _Tp2, _Lock_policy _Lp> template<typename _Tp1, typename _Tp2, _Lock_policy _Lp>
inline bool inline bool
operator==(const __shared_ptr<_Tp1, _Lp>& __a, operator==(const __shared_ptr<_Tp1, _Lp>& __a,
@ -1348,7 +1348,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
__weak_count<_Lp> _M_refcount; // Reference counter. __weak_count<_Lp> _M_refcount; // Reference counter.
}; };
// 20.8.13.3.7 weak_ptr specialized algorithms. // 20.7.2.3.6 weak_ptr specialized algorithms.
template<typename _Tp, _Lock_policy _Lp> template<typename _Tp, _Lock_policy _Lp>
inline void inline void
swap(__weak_ptr<_Tp, _Lp>& __a, __weak_ptr<_Tp, _Lp>& __b) noexcept swap(__weak_ptr<_Tp, _Lp>& __a, __weak_ptr<_Tp, _Lp>& __b) noexcept

View File

@ -87,7 +87,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _Up> void operator()(_Up*) const = delete; template<typename _Up> void operator()(_Up*) const = delete;
}; };
/// 20.7.12.2 unique_ptr for single objects. /// 20.7.1.2 unique_ptr for single objects.
template <typename _Tp, typename _Dp = default_delete<_Tp> > template <typename _Tp, typename _Dp = default_delete<_Tp> >
class unique_ptr class unique_ptr
{ {
@ -260,7 +260,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
unique_ptr& operator=(const unique_ptr&) = delete; unique_ptr& operator=(const unique_ptr&) = delete;
}; };
/// 20.7.12.3 unique_ptr for array objects with a runtime length /// 20.7.1.3 unique_ptr for array objects with a runtime length
// [unique.ptr.runtime] // [unique.ptr.runtime]
// _GLIBCXX_RESOLVE_LIB_DEFECTS // _GLIBCXX_RESOLVE_LIB_DEFECTS
// DR 740 - omit specialization for array objects with a compile time length // DR 740 - omit specialization for array objects with a compile time length
@ -406,7 +406,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
unique_ptr& operator=(const unique_ptr&) = delete; unique_ptr& operator=(const unique_ptr&) = delete;
// Disable construction from convertible pointer types. // Disable construction from convertible pointer types.
// (N2315 - 20.6.5.3.1) // (N2315 - 20.7.1.3.1)
template<typename _Up> template<typename _Up>
unique_ptr(_Up*, typename unique_ptr(_Up*, typename
std::conditional<std::is_reference<deleter_type>::value, std::conditional<std::is_reference<deleter_type>::value,

View File

@ -1,6 +1,6 @@
// <chrono> -*- C++ -*- // <chrono> -*- C++ -*-
// 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 // 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 // software; you can redistribute it and/or modify it under the
@ -53,7 +53,7 @@ namespace std _GLIBCXX_VISIBILITY(default)
*/ */
/** @namespace std::chrono /** @namespace std::chrono
* @brief ISO C++ 0x entities sub namespace for time and date. * @brief ISO C++ 2011 entities sub-namespace for time and date.
*/ */
namespace chrono namespace chrono
{ {
@ -69,7 +69,7 @@ namespace std _GLIBCXX_VISIBILITY(default)
} }
_GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_BEGIN_NAMESPACE_VERSION
// 20.8.2.3 specialization of common_type (for duration) // 20.11.4.3 specialization of common_type (for duration)
template<typename _Rep1, typename _Period1, typename _Rep2, typename _Period2> template<typename _Rep1, typename _Period1, typename _Rep2, typename _Period2>
struct common_type<chrono::duration<_Rep1, _Period1>, struct common_type<chrono::duration<_Rep1, _Period1>,
chrono::duration<_Rep2, _Period2>> chrono::duration<_Rep2, _Period2>>
@ -85,7 +85,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
typedef chrono::duration<__cr, __r> type; typedef chrono::duration<__cr, __r> type;
}; };
// 20.8.2.3 specialization of common_type (for time_point) // 20.11.4.3 specialization of common_type (for time_point)
template<typename _Clock, typename _Dur1, typename _Dur2> template<typename _Clock, typename _Dur1, typename _Dur2>
struct common_type<chrono::time_point<_Clock, _Dur1>, struct common_type<chrono::time_point<_Clock, _Dur1>,
chrono::time_point<_Clock, _Dur2>> chrono::time_point<_Clock, _Dur2>>
@ -227,7 +227,7 @@ _GLIBCXX_END_NAMESPACE_VERSION
"period must be a specialization of ratio"); "period must be a specialization of ratio");
static_assert(_Period::num > 0, "period must be positive"); static_assert(_Period::num > 0, "period must be positive");
// 20.8.3.1 construction / copy / destroy // 20.11.5.1 construction / copy / destroy
constexpr duration() = default; constexpr duration() = default;
constexpr duration(const duration&) = default; constexpr duration(const duration&) = default;
@ -249,12 +249,12 @@ _GLIBCXX_END_NAMESPACE_VERSION
~duration() = default; ~duration() = default;
duration& operator=(const duration&) = default; duration& operator=(const duration&) = default;
// 20.8.3.2 observer // 20.11.5.2 observer
constexpr rep constexpr rep
count() const count() const
{ return __r; } { return __r; }
// 20.8.3.3 arithmetic // 20.11.5.3 arithmetic
constexpr duration constexpr duration
operator+() const operator+() const
{ return *this; } { return *this; }
@ -332,7 +332,7 @@ _GLIBCXX_END_NAMESPACE_VERSION
return *this; return *this;
} }
// 20.8.3.4 special values // 20.11.5.4 special values
static constexpr duration static constexpr duration
zero() zero()
{ return duration(duration_values<rep>::zero()); } { return duration(duration_values<rep>::zero()); }

View File

@ -1,6 +1,6 @@
// <thread> -*- C++ -*- // <thread> -*- C++ -*-
// 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 // 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 // software; you can redistribute it and/or modify it under the
@ -238,8 +238,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
_GLIBCXX_END_NAMESPACE_VERSION _GLIBCXX_END_NAMESPACE_VERSION
/** @namespace std::this_thread /** @namespace std::this_thread
* @brief ISO C++ 0x entities sub namespace for thread. * @brief ISO C++ 2011 entities sub-namespace for thread.
* 30.2.2 Namespace this_thread. * 30.3.2 Namespace this_thread.
*/ */
namespace this_thread namespace this_thread
{ {