From 82ab4b640ba4ee65e2ba0ba632a73234557581cb Mon Sep 17 00:00:00 2001
From: Paolo Carlini <paolo.carlini@oracle.com>
Date: Tue, 15 Dec 2009 00:07:52 +0000
Subject: [PATCH] PR libstdc++/25304, DR 865 [Ready]

2009-12-14  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/25304, DR 865 [Ready]
	* include/bits/stl_algobase.h (fill_n): Add comment about DR 865.
	* include/bits/stl_algo.h (generate_n): Likewise.
	* include/bits/algorithmfwd.h: Remove obsolete comment.
	* doc/xml/manual/intro.xml: Add an entry for DR 865.

From-SVN: r155241
---
 libstdc++-v3/ChangeLog                   |  8 ++++++++
 libstdc++-v3/doc/xml/manual/intro.xml    |  7 +++++++
 libstdc++-v3/include/bits/algorithmfwd.h | 14 --------------
 libstdc++-v3/include/bits/stl_algo.h     |  3 +++
 libstdc++-v3/include/bits/stl_algobase.h |  3 +++
 5 files changed, 21 insertions(+), 14 deletions(-)

diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 1b57aedc4e6a..b0dd29b73760 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,11 @@
+2009-12-14  Paolo Carlini  <paolo.carlini@oracle.com>
+
+	PR libstdc++/25304, DR 865 [Ready]
+	* include/bits/stl_algobase.h (fill_n): Add comment about DR 865.
+	* include/bits/stl_algo.h (generate_n): Likewise.
+	* include/bits/algorithmfwd.h: Remove obsolete comment.
+	* doc/xml/manual/intro.xml: Add an entry for DR 865.
+
 2009-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
 	* configure.ac: Remove code to un-precious-ize CC, CXX,
diff --git a/libstdc++-v3/doc/xml/manual/intro.xml b/libstdc++-v3/doc/xml/manual/intro.xml
index 1c5e7f64e557..a3cdbdf1c46d 100644
--- a/libstdc++-v3/doc/xml/manual/intro.xml
+++ b/libstdc++-v3/doc/xml/manual/intro.xml
@@ -815,6 +815,13 @@ requirements of the license of GCC.
     </term>
     <listitem><para>Update / add the signatures.
     </para></listitem></varlistentry>
+
+    <varlistentry><term><ulink url="../ext/lwg-active.html#865">865</ulink>:
+        <emphasis>More algorithms that throw away information</emphasis>
+    </term>
+    <listitem><para>The traditional HP / SGI return type and value is blessed
+                    by the resolution of the DR.
+    </para></listitem></varlistentry>
   </variablelist>
 
  </sect2>
diff --git a/libstdc++-v3/include/bits/algorithmfwd.h b/libstdc++-v3/include/bits/algorithmfwd.h
index e33a14c3bdcf..7625ee4af515 100644
--- a/libstdc++-v3/include/bits/algorithmfwd.h
+++ b/libstdc++-v3/include/bits/algorithmfwd.h
@@ -236,13 +236,6 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
     void 
     fill(_FIter, _FIter, const _Tp&);
 
-/*
-  XXX NB: return type different from ISO C++.
-  template<typename _OIter, typename _Size, typename _Tp>
-    void 
-    fill_n(_OIter, _Size, const _Tp&);
-*/
-
   template<typename _OIter, typename _Size, typename _Tp>
     _OIter
     fill_n(_OIter, _Size, const _Tp&);
@@ -620,13 +613,6 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
     void 
     generate(_FIter, _FIter, _Generator);
 
-/*
-  XXX NB: return type different from ISO C++.
-  template<typename _OIter, typename _Size, typename _Tp>
-    void
-    generate_n(_OIter, _Size, _Generator);
-*/
-
   template<typename _OIter, typename _Size, typename _Generator>
     _OIter
     generate_n(_OIter, _Size, _Generator);
diff --git a/libstdc++-v3/include/bits/stl_algo.h b/libstdc++-v3/include/bits/stl_algo.h
index 088414d097fe..f6c98f8f59c9 100644
--- a/libstdc++-v3/include/bits/stl_algo.h
+++ b/libstdc++-v3/include/bits/stl_algo.h
@@ -4921,6 +4921,9 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
    *
    *  Performs the assignment @c *i = @p gen() for each @c i in the range
    *  @p [first,first+n).
+   *
+   *  _GLIBCXX_RESOLVE_LIB_DEFECTS
+   *  DR 865. More algorithms that throw away information
   */
   template<typename _OutputIterator, typename _Size, typename _Generator>
     _OutputIterator
diff --git a/libstdc++-v3/include/bits/stl_algobase.h b/libstdc++-v3/include/bits/stl_algobase.h
index f9c3ab2b4288..bc04723439e5 100644
--- a/libstdc++-v3/include/bits/stl_algobase.h
+++ b/libstdc++-v3/include/bits/stl_algobase.h
@@ -781,6 +781,9 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
    *  This function fills a range with copies of the same value.  For char
    *  types filling contiguous areas of memory, this becomes an inline call
    *  to @c memset or @ wmemset.
+   *
+   *  _GLIBCXX_RESOLVE_LIB_DEFECTS
+   *  DR 865. More algorithms that throw away information
   */
   template<typename _OI, typename _Size, typename _Tp>
     inline _OI
-- 
GitLab