diff options
author | Jonathan Wakely <jwakely.gcc@gmail.com> | 2012-11-19 22:28:00 +0000 |
---|---|---|
committer | Jonathan Wakely <redi@gcc.gnu.org> | 2012-11-19 22:28:00 +0000 |
commit | 1b5dc776ca574e812ddc229ef085e45e32d924bf (patch) | |
tree | 0a9ec48233a8990289095b21b284986044ba9437 /libstdc++-v3/include/ext | |
parent | 639498a8750f251bbfa7b412629a3ead4a73e886 (diff) | |
download | gcc-1b5dc776ca574e812ddc229ef085e45e32d924bf.zip gcc-1b5dc776ca574e812ddc229ef085e45e32d924bf.tar.gz gcc-1b5dc776ca574e812ddc229ef085e45e32d924bf.tar.bz2 |
stl_algo.h (reverse_copy): Update comment per DR 2074.
* include/bits/stl_algo.h (reverse_copy): Update comment per DR 2074.
* include/bits/unordered_map.h: Apply DR 2005 resolution.
* doc/xml/manual/status_cxx2011.xml: Update per DR 2048.
* include/bits/allocator.h (allocator): Apply DR 2103 resolution.
* include/ext/array_allocator.h: Likewise.
* include/ext/bitmap_allocator.h: Likewise.
* include/ext/malloc_allocator.h: Likewise.
* include/ext/mt_allocator.h: Likewise.
* include/ext/new_allocator.h: Likewise.
* include/ext/pool_allocator.h: Likewise.
* include/ext/throw_allocator.h: Likewise.
* include/ext/alloc_traits.h (__allocator_always_compares_equal): Add
additional specializations.
* include/std/functional: Add comment about DR resolution.
* include/std/future: Likewise.
* include/std/scoped_allocator: Likewise.
* include/std/thread: Likewise.
* testsuite/20_util/allocator/requirements/typedefs.cc: New.
* testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
From-SVN: r193638
Diffstat (limited to 'libstdc++-v3/include/ext')
-rw-r--r-- | libstdc++-v3/include/ext/alloc_traits.h | 18 | ||||
-rw-r--r-- | libstdc++-v3/include/ext/array_allocator.h | 12 | ||||
-rw-r--r-- | libstdc++-v3/include/ext/bitmap_allocator.h | 9 | ||||
-rw-r--r-- | libstdc++-v3/include/ext/malloc_allocator.h | 13 | ||||
-rw-r--r-- | libstdc++-v3/include/ext/mt_allocator.h | 12 | ||||
-rw-r--r-- | libstdc++-v3/include/ext/new_allocator.h | 12 | ||||
-rw-r--r-- | libstdc++-v3/include/ext/pool_allocator.h | 13 | ||||
-rw-r--r-- | libstdc++-v3/include/ext/throw_allocator.h | 6 |
8 files changed, 81 insertions, 14 deletions
diff --git a/libstdc++-v3/include/ext/alloc_traits.h b/libstdc++-v3/include/ext/alloc_traits.h index 3ae04ac..a0834c3 100644 --- a/libstdc++-v3/include/ext/alloc_traits.h +++ b/libstdc++-v3/include/ext/alloc_traits.h @@ -73,6 +73,24 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION const bool __allocator_always_compares_equal<array_allocator<_Tp, _Array>>::value; + template<typename> struct bitmap_allocator; + + template<typename _Tp> + struct __allocator_always_compares_equal<bitmap_allocator<_Tp>> + { static const bool value = true; }; + + template<typename _Tp> + const bool __allocator_always_compares_equal<bitmap_allocator<_Tp>>::value; + + template<typename> struct malloc_allocator; + + template<typename _Tp> + struct __allocator_always_compares_equal<malloc_allocator<_Tp>> + { static const bool value = true; }; + + template<typename _Tp> + const bool __allocator_always_compares_equal<malloc_allocator<_Tp>>::value; + template<typename> struct mt_allocator; template<typename _Tp> diff --git a/libstdc++-v3/include/ext/array_allocator.h b/libstdc++-v3/include/ext/array_allocator.h index 47f52b5..736ae02 100644 --- a/libstdc++-v3/include/ext/array_allocator.h +++ b/libstdc++-v3/include/ext/array_allocator.h @@ -1,7 +1,6 @@ // array allocator -*- C++ -*- -// Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 -// Free Software Foundation, Inc. +// Copyright (C) 2004-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,6 +34,9 @@ #include <bits/functexcept.h> #include <tr1/array> #include <bits/move.h> +#ifdef __GXX_EXPERIMENTAL_CXX0X__ +#include <type_traits> +#endif namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) { @@ -113,6 +115,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION typedef _Tp value_type; typedef _Array array_type; +#ifdef __GXX_EXPERIMENTAL_CXX0X__ + // _GLIBCXX_RESOLVE_LIB_DEFECTS + // 2103. std::allocator propagate_on_container_move_assignment + typedef std::true_type propagate_on_container_move_assignment; +#endif + private: array_type* _M_array; size_type _M_used; diff --git a/libstdc++-v3/include/ext/bitmap_allocator.h b/libstdc++-v3/include/ext/bitmap_allocator.h index 9e81561..eff9405 100644 --- a/libstdc++-v3/include/ext/bitmap_allocator.h +++ b/libstdc++-v3/include/ext/bitmap_allocator.h @@ -1,7 +1,6 @@ // Bitmap Allocator. -*- C++ -*- -// Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 -// Free Software Foundation, Inc. +// Copyright (C) 2004-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 @@ -703,6 +702,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION typedef bitmap_allocator<_Tp1> other; }; +#if __cplusplus >= 201103L + // _GLIBCXX_RESOLVE_LIB_DEFECTS + // 2103. propagate_on_container_move_assignment + typedef std::true_type propagate_on_container_move_assignment; +#endif + private: template<size_t _BSize, size_t _AlignSize> struct aligned_size diff --git a/libstdc++-v3/include/ext/malloc_allocator.h b/libstdc++-v3/include/ext/malloc_allocator.h index c190184..6180579 100644 --- a/libstdc++-v3/include/ext/malloc_allocator.h +++ b/libstdc++-v3/include/ext/malloc_allocator.h @@ -1,8 +1,6 @@ // Allocator that wraps "C" malloc -*- C++ -*- -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, -// 2010, 2011 -// Free Software Foundation, Inc. +// Copyright (C) 2001-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,6 +33,9 @@ #include <new> #include <bits/functexcept.h> #include <bits/move.h> +#if __cplusplus >= 201103L +#include <type_traits> +#endif namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) { @@ -67,6 +68,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION struct rebind { typedef malloc_allocator<_Tp1> other; }; +#if __cplusplus >= 201103L + // _GLIBCXX_RESOLVE_LIB_DEFECTS + // 2103. propagate_on_container_move_assignment + typedef std::true_type propagate_on_container_move_assignment; +#endif + malloc_allocator() _GLIBCXX_USE_NOEXCEPT { } malloc_allocator(const malloc_allocator&) _GLIBCXX_USE_NOEXCEPT { } diff --git a/libstdc++-v3/include/ext/mt_allocator.h b/libstdc++-v3/include/ext/mt_allocator.h index 1ce695a..5900701 100644 --- a/libstdc++-v3/include/ext/mt_allocator.h +++ b/libstdc++-v3/include/ext/mt_allocator.h @@ -1,7 +1,6 @@ // MT-optimized allocator -*- C++ -*- -// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 -// Free Software Foundation, Inc. +// Copyright (C) 2003-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,6 +34,9 @@ #include <bits/functexcept.h> #include <ext/atomicity.h> #include <bits/move.h> +#if __cplusplus >= 201103L +#include <type_traits> +#endif namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) { @@ -576,6 +578,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION typedef const _Tp& const_reference; typedef _Tp value_type; +#if __cplusplus >= 201103L + // _GLIBCXX_RESOLVE_LIB_DEFECTS + // 2103. propagate_on_container_move_assignment + typedef std::true_type propagate_on_container_move_assignment; +#endif + pointer address(reference __x) const _GLIBCXX_NOEXCEPT { return std::__addressof(__x); } diff --git a/libstdc++-v3/include/ext/new_allocator.h b/libstdc++-v3/include/ext/new_allocator.h index 0e8add1..4523bb8 100644 --- a/libstdc++-v3/include/ext/new_allocator.h +++ b/libstdc++-v3/include/ext/new_allocator.h @@ -1,7 +1,6 @@ // Allocator that wraps operator new -*- C++ -*- -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2009, 2010 -// Free Software Foundation, Inc. +// Copyright (C) 2001-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 @@ -34,6 +33,9 @@ #include <new> #include <bits/functexcept.h> #include <bits/move.h> +#if __cplusplus >= 201103L +#include <type_traits> +#endif namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) { @@ -68,6 +70,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION struct rebind { typedef new_allocator<_Tp1> other; }; +#if __cplusplus >= 201103L + // _GLIBCXX_RESOLVE_LIB_DEFECTS + // 2103. propagate_on_container_move_assignment + typedef std::true_type propagate_on_container_move_assignment; +#endif + new_allocator() _GLIBCXX_USE_NOEXCEPT { } new_allocator(const new_allocator&) _GLIBCXX_USE_NOEXCEPT { } diff --git a/libstdc++-v3/include/ext/pool_allocator.h b/libstdc++-v3/include/ext/pool_allocator.h index bb340ab..2bbbd1e 100644 --- a/libstdc++-v3/include/ext/pool_allocator.h +++ b/libstdc++-v3/include/ext/pool_allocator.h @@ -1,8 +1,6 @@ // Allocators -*- C++ -*- -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, -// 2010, 2011 -// Free Software Foundation, Inc. +// Copyright (C) 2001-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 @@ -51,6 +49,9 @@ #include <ext/atomicity.h> #include <ext/concurrence.h> #include <bits/move.h> +#if __cplusplus >= 201103L +#include <type_traits> +#endif namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) { @@ -140,6 +141,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION struct rebind { typedef __pool_alloc<_Tp1> other; }; +#if __cplusplus >= 201103L + // _GLIBCXX_RESOLVE_LIB_DEFECTS + // 2103. propagate_on_container_move_assignment + typedef std::true_type propagate_on_container_move_assignment; +#endif + __pool_alloc() _GLIBCXX_USE_NOEXCEPT { } __pool_alloc(const __pool_alloc&) _GLIBCXX_USE_NOEXCEPT { } diff --git a/libstdc++-v3/include/ext/throw_allocator.h b/libstdc++-v3/include/ext/throw_allocator.h index c525b48..599363e 100644 --- a/libstdc++-v3/include/ext/throw_allocator.h +++ b/libstdc++-v3/include/ext/throw_allocator.h @@ -643,6 +643,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION typedef value_type& reference; typedef const value_type& const_reference; +#if __cplusplus >= 201103L + // _GLIBCXX_RESOLVE_LIB_DEFECTS + // 2103. std::allocator propagate_on_container_move_assignment + typedef std::true_type propagate_on_container_move_assignment; +#endif + private: typedef _Cond condition_type; |