aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/include/ext
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely.gcc@gmail.com>2012-11-19 22:28:00 +0000
committerJonathan Wakely <redi@gcc.gnu.org>2012-11-19 22:28:00 +0000
commit1b5dc776ca574e812ddc229ef085e45e32d924bf (patch)
tree0a9ec48233a8990289095b21b284986044ba9437 /libstdc++-v3/include/ext
parent639498a8750f251bbfa7b412629a3ead4a73e886 (diff)
downloadgcc-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.h18
-rw-r--r--libstdc++-v3/include/ext/array_allocator.h12
-rw-r--r--libstdc++-v3/include/ext/bitmap_allocator.h9
-rw-r--r--libstdc++-v3/include/ext/malloc_allocator.h13
-rw-r--r--libstdc++-v3/include/ext/mt_allocator.h12
-rw-r--r--libstdc++-v3/include/ext/new_allocator.h12
-rw-r--r--libstdc++-v3/include/ext/pool_allocator.h13
-rw-r--r--libstdc++-v3/include/ext/throw_allocator.h6
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;