Patchwork [v3] doxygen warnings

login
register
mail settings
Submitter Benjamin Kosnik
Date Dec. 10, 2011, 3:35 p.m.
Message ID <20111210073544.522650a6@shotwell>
Download mbox | patch
Permalink /patch/130532/
State New
Headers show

Comments

Benjamin Kosnik - Dec. 10, 2011, 3:35 p.m.
This patch just removes/restructures some of the doxygen markup to
avoid warnings when generating the documentation. Most of the libstdc++
headers are pretty doxygen clean now.

tested x86/linux

-benjamin
Jonathan Wakely - Dec. 10, 2011, 3:44 p.m.
On 10 December 2011 15:35, Benjamin Kosnik wrote:
>
> This patch just removes/restructures some of the doxygen markup to
> avoid warnings when generating the documentation. Most of the libstdc++
> headers are pretty doxygen clean now.

By the way, I recently made this feature request for Doxygen:

https://bugzilla.gnome.org/show_bug.cgi?id=665506

That would allow us to refer to "pos" not "__pos" in the doxygen
comments, and for the generated docs to be much nicer to read, without
uglified names.
Benjamin Kosnik - Dec. 12, 2011, 5:19 p.m.
> > This patch just removes/restructures some of the doxygen markup to
> > avoid warnings when generating the documentation. Most of the
> > libstdc++ headers are pretty doxygen clean now.
> 
> By the way, I recently made this feature request for Doxygen:
> 
> https://bugzilla.gnome.org/show_bug.cgi?id=665506
> 
> That would allow us to refer to "pos" not "__pos" in the doxygen
> comments, and for the generated docs to be much nicer to read, without
> uglified names.

Awesome. That would be useful.

At this point, most of the libstdc++ headers have pretty much
warning-free docs, at least with current doxygen binaries. The macro
trickery in PB_DS kind of makes doxygen go crazy. And some of the new
C++11 features like variadic and mutable/default/deleted etc. result in
weird/humorous messages.

That said, the latest doxygen (1.7.6?) fails miserably, on cxxabi.h no
less. And the PDF_HYPERLINKS issue is still present. Some of the time I
think I can at least pinpoint the file with the markup that is making
this crazy/bad by editing out docs/doxygen/user.cfg.in to only be all
the files in bits or all the files in ext, etc. Alas, I've not been
able to get anything reproducible.

But this argument thing would really be nice to have. I went ahead and
uglified the markup in <algorithm> since that was triggering so many
warnings elsewere.

-benjamin

Patch

2011-12-10  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/doxygen/user.cfg.in: Add macros, directories.
	* include/bits/locale_classes.h: Remove doxygen warnings, fix markup.
	* include/bits/locale_classes.tcc: Same.
	* include/bits/shared_ptr.h: Same.
	* include/bits/stl_algo.h: Same.
	* include/bits/stl_list.h: Same.
	* include/bits/stl_numeric.h: Same.
	* include/debug/safe_base.h: Same.
	* include/parallel/equally_split.h: Same.
	* include/std/bitset: Same.
	* include/std/complex: Same.
	* include/std/fstream: Same.
	* include/std/istream: Same.
	* include/std/ostream: Same.
	* include/tr2/dynamic_bitset: Same.
	* scripts/run_doxygen: Remove munging for names that no longer exist.

	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
	Adjust line numbers.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_1_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_2_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same.


diff --git a/libstdc++-v3/doc/doxygen/user.cfg.in b/libstdc++-v3/doc/doxygen/user.cfg.in
index 9178b0c..adb8c7f 100644
--- a/libstdc++-v3/doc/doxygen/user.cfg.in
+++ b/libstdc++-v3/doc/doxygen/user.cfg.in
@@ -746,6 +746,7 @@  INPUT                  = @srcdir@/doc/doxygen/doxygroups.cc \
 			 include/tr1/ctime \
 			 include/tr1/cwchar \
 			 include/tr1/cwctype \
+			 include/tr2/ \
 			 include/tr2/bool_set \
 			 include/tr2/dynamic_bitset \
 			 include/tr2/ratio \
@@ -1647,9 +1648,10 @@  PREDEFINED             = __cplusplus \
 			 _GLIBCXX_USE_C99_STDINT_TR1 \
 			 _GLIBCXX_USE_SCHED_YIELD \
 			 _GLIBCXX_USE_NANOSLEEP \
-			 PB_DS_DATA_TRUE_INDICATOR \
 			 __EXCEPTIONS \
 			 __GXX_RTTI \
+                         ATOMIC_INT_LOCK_FREE \
+			 PB_DS_DATA_TRUE_INDICATOR \
 			 __glibcxx_function_requires=// \
 			 __glibcxx_class_requires=// \
 			 __glibcxx_class_requires2=// \
diff --git a/libstdc++-v3/include/bits/locale_classes.h b/libstdc++-v3/include/bits/locale_classes.h
index 88bbf69..4beca40 100644
--- a/libstdc++-v3/include/bits/locale_classes.h
+++ b/libstdc++-v3/include/bits/locale_classes.h
@@ -571,39 +571,6 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
 
   /**
-   *  @brief  Test for the presence of a facet.
-   *
-   *  has_facet tests the locale argument for the presence of the facet type
-   *  provided as the template parameter.  Facets derived from the facet
-   *  parameter will also return true.
-   *
-   *  @tparam  _Facet  The facet type to test the presence of.
-   *  @param  __loc  The locale to test.
-   *  @return  true if __loc contains a facet of type _Facet, else false.
-  */
-  template<typename _Facet>
-    bool
-    has_facet(const locale& __loc) throw();
-
-  /**
-   *  @brief  Return a facet.
-   *
-   *  use_facet looks for and returns a reference to a facet of type Facet
-   *  where Facet is the template parameter.  If has_facet(locale) is true,
-   *  there is a suitable facet to return.  It throws std::bad_cast if the
-   *  locale doesn't contain a facet of type Facet.
-   *
-   *  @tparam  _Facet  The facet type to access.
-   *  @param  __loc  The locale to use.
-   *  @return  Reference to facet of type Facet.
-   *  @throw  std::bad_cast if __loc doesn't contain a facet of type _Facet.
-  */
-  template<typename _Facet>
-    const _Facet&
-    use_facet(const locale& __loc);
-
-
-  /**
    *  @brief  Facet for localized string comparison.
    *
    *  This facet encapsulates the code to compare strings in a localized
diff --git a/libstdc++-v3/include/bits/locale_classes.tcc b/libstdc++-v3/include/bits/locale_classes.tcc
index 5b2901a..c796e0e 100644
--- a/libstdc++-v3/include/bits/locale_classes.tcc
+++ b/libstdc++-v3/include/bits/locale_classes.tcc
@@ -87,7 +87,17 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
 				__s2.data(), __s2.data() + __s2.length()) < 0);
     }
 
-
+  /**
+   *  @brief  Test for the presence of a facet.
+   *
+   *  has_facet tests the locale argument for the presence of the facet type
+   *  provided as the template parameter.  Facets derived from the facet
+   *  parameter will also return true.
+   *
+   *  @tparam  _Facet  The facet type to test the presence of.
+   *  @param  __loc  The locale to test.
+   *  @return  true if @p __loc contains a facet of type _Facet, else false.
+  */
   template<typename _Facet>
     bool
     has_facet(const locale& __loc) throw()
@@ -102,6 +112,19 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
 #endif
     }
 
+  /**
+   *  @brief  Return a facet.
+   *
+   *  use_facet looks for and returns a reference to a facet of type Facet
+   *  where Facet is the template parameter.  If has_facet(locale) is true,
+   *  there is a suitable facet to return.  It throws std::bad_cast if the
+   *  locale doesn't contain a facet of type Facet.
+   *
+   *  @tparam  _Facet  The facet type to access.
+   *  @param  __loc  The locale to use.
+   *  @return  Reference to facet of type Facet.
+   *  @throw  std::bad_cast if @p __loc doesn't contain a facet of type _Facet.
+  */
   template<typename _Facet>
     const _Facet&
     use_facet(const locale& __loc)
diff --git a/libstdc++-v3/include/bits/shared_ptr.h b/libstdc++-v3/include/bits/shared_ptr.h
index 33128dd..070d2d1 100644
--- a/libstdc++-v3/include/bits/shared_ptr.h
+++ b/libstdc++-v3/include/bits/shared_ptr.h
@@ -100,6 +100,8 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
       constexpr shared_ptr() noexcept
       : __shared_ptr<_Tp>() { }
 
+      shared_ptr(const shared_ptr&) noexcept = default;
+
       /**
        *  @brief  Construct a %shared_ptr that owns the pointer @a __p.
        *  @param  __p  A pointer that is convertible to element_type*.
@@ -211,7 +213,6 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
        *  @param  __r  A %shared_ptr.
        *  @post   get() == __r.get() && use_count() == __r.use_count()
        */
-      shared_ptr(const shared_ptr&) noexcept = default;
       template<typename _Tp1, typename = typename
 	       std::enable_if<std::is_convertible<_Tp1*, _Tp*>::value>::type>
 	shared_ptr(const shared_ptr<_Tp1>& __r) noexcept
@@ -266,6 +267,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
       : __shared_ptr<_Tp>(__p) { }
 
       shared_ptr& operator=(const shared_ptr&) noexcept = default;
+
       template<typename _Tp1>
 	shared_ptr&
 	operator=(const shared_ptr<_Tp1>& __r) noexcept
diff --git a/libstdc++-v3/include/bits/stl_algo.h b/libstdc++-v3/include/bits/stl_algo.h
index 10c7e2d..c517a19 100644
--- a/libstdc++-v3/include/bits/stl_algo.h
+++ b/libstdc++-v3/include/bits/stl_algo.h
@@ -1664,9 +1664,9 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
    *  @return  Nothing.
    *
    *  Rotates the elements of the range @p [__first,__last) by 
-   *  @p(__middle - __first) positions so that the element at @p __middle
+   *  @p (__middle - __first) positions so that the element at @p __middle
    *  is moved to @p __first, the element at @p __middle+1 is moved to
-   *  @ __first+1 and so on for each element in the range
+   *  @p __first+1 and so on for each element in the range
    *  @p [__first,__last).
    *
    *  This effectively swaps the ranges @p [__first,__middle) and
@@ -1705,7 +1705,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
    *  range beginning at @result, rotating the copied elements by 
    *  @p (__middle-__first) positions so that the element at @p __middle
    *  is moved to @p __result, the element at @p __middle+1 is moved
-   *  to @__result+1 and so on for each element in the range @p
+   *  to @p __result+1 and so on for each element in the range @p
    *  [__first,__last).
    *
    *  Performs 
@@ -1947,9 +1947,9 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
    *  to the range beginning at @p __result_first, where the number of
    *  elements to be copied, @p N, is the smaller of @p (__last-__first) and
    *  @p (__result_last-__result_first).
-   *  After the sort if @p i and @j are iterators in the range
-   *  @p [__result_first,__result_first+N) such that @i precedes @j then
-   *  @p *j<*i is false.
+   *  After the sort if @e i and @e j are iterators in the range
+   *  @p [__result_first,__result_first+N) such that i precedes j then
+   *  *j<*i is false.
    *  The value returned is @p __result_first+N.
   */
   template<typename _InputIterator, typename _RandomAccessIterator>
@@ -2013,8 +2013,8 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
    *  to the range beginning at @p result_first, where the number of
    *  elements to be copied, @p N, is the smaller of @p (__last-__first) and
    *  @p (__result_last-__result_first).
-   *  After the sort if @p i and @j are iterators in the range
-   *  @p [__result_first,__result_first+N) such that @i precedes @j then
+   *  After the sort if @e i and @e j are iterators in the range
+   *  @p [__result_first,__result_first+N) such that i precedes j then
    *  @p __comp(*j,*i) is false.
    *  The value returned is @p __result_first+N.
   */
@@ -2387,7 +2387,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
   // lower_bound moved to stl_algobase.h
 
   /**
-   *  @brief Finds the first position in which @a val could be inserted
+   *  @brief Finds the first position in which @p __val could be inserted
    *         without changing the ordering.
    *  @ingroup binary_search_algorithms
    *  @param  __first   An iterator.
@@ -2395,8 +2395,8 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
    *  @param  __val     The search term.
    *  @param  __comp    A functor to use for comparisons.
    *  @return An iterator pointing to the first element <em>not less
-   *           than</em> @a __val, or end() if every element is less
-   *           than @a __val.
+   *           than</em> @p __val, or end() if every element is less
+   *           than @p __val.
    *  @ingroup binary_search_algorithms
    *
    *  The comparison function should have the same effects on ordering as
@@ -2439,14 +2439,14 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
     }
 
   /**
-   *  @brief Finds the last position in which @a val could be inserted
+   *  @brief Finds the last position in which @p __val could be inserted
    *         without changing the ordering.
    *  @ingroup binary_search_algorithms
    *  @param  __first   An iterator.
    *  @param  __last    Another iterator.
    *  @param  __val     The search term.
-   *  @return  An iterator pointing to the first element greater than @a __val,
-   *           or end() if no elements are greater than @a __val.
+   *  @return  An iterator pointing to the first element greater than @p __val,
+   *           or end() if no elements are greater than @p __val.
    *  @ingroup binary_search_algorithms
   */
   template<typename _ForwardIterator, typename _Tp>
@@ -2484,15 +2484,15 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
     }
 
   /**
-   *  @brief Finds the last position in which @a val could be inserted
+   *  @brief Finds the last position in which @p __val could be inserted
    *         without changing the ordering.
    *  @ingroup binary_search_algorithms
    *  @param  __first   An iterator.
    *  @param  __last    Another iterator.
    *  @param  __val     The search term.
    *  @param  __comp    A functor to use for comparisons.
-   *  @return  An iterator pointing to the first element greater than @a __val,
-   *           or end() if no elements are greater than @a __val.
+   *  @return  An iterator pointing to the first element greater than @p __val,
+   *           or end() if no elements are greater than @p __val.
    *  @ingroup binary_search_algorithms
    *
    *  The comparison function should have the same effects on ordering as
@@ -2535,7 +2535,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
     }
 
   /**
-   *  @brief Finds the largest subrange in which @a val could be inserted
+   *  @brief Finds the largest subrange in which @p __val could be inserted
    *         at any place in it without changing the ordering.
    *  @ingroup binary_search_algorithms
    *  @param  __first   An iterator.
@@ -2597,7 +2597,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
     }
 
   /**
-   *  @brief Finds the largest subrange in which @a val could be inserted
+   *  @brief Finds the largest subrange in which @p __val could be inserted
    *         at any place in it without changing the ordering.
    *  @param  __first   An iterator.
    *  @param  __last    Another iterator.
@@ -2668,10 +2668,10 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
    *  @param  __first   An iterator.
    *  @param  __last    Another iterator.
    *  @param  __val     The search term.
-   *  @return True if @a __val (or its equivalent) is in [@a
-   *  __first,@a __last ].
+   *  @return True if @p __val (or its equivalent) is in [@p
+   *  __first,@p __last ].
    *
-   *  Note that this does not actually return an iterator to @a __val.  For
+   *  Note that this does not actually return an iterator to @p __val.  For
    *  that, use std::find or a container's specialized find member functions.
   */
   template<typename _ForwardIterator, typename _Tp>
@@ -2699,9 +2699,9 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
    *  @param  __last    Another iterator.
    *  @param  __val     The search term.
    *  @param  __comp    A functor to use for comparisons.
-   *  @return  True if @a val (or its equivalent) is in [@a first,@a last ].
+   *  @return  True if @p __val (or its equivalent) is in @p [__first,__last].
    *
-   *  Note that this does not actually return an iterator to @a val.  For
+   *  Note that this does not actually return an iterator to @p __val.  For
    *  that, use std::find or a container's specialized find member functions.
    *
    *  The comparison function should have the same effects on ordering as
@@ -3523,7 +3523,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
    *  each element in [__first2,__last2) within [__first1,__last1).
    *  The iterators over each range only move forward, so this is a
    *  linear algorithm.  If an element in [__first2,__last2) is not
-   *  found before the search iterator reaches @a __last2, false is
+   *  found before the search iterator reaches @p __last2, false is
    *  returned.
   */
   template<typename _InputIterator1, typename _InputIterator2>
@@ -3574,7 +3574,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
    *  using comp to decide.  The iterators over each range only move
    *  forward, so this is a linear algorithm.  If an element in
    *  [__first2,__last2) is not found before the search iterator
-   *  reaches @a __last2, false is returned.
+   *  reaches @p __last2, false is returned.
   */
   template<typename _InputIterator1, typename _InputIterator2,
 	   typename _Compare>
@@ -3620,13 +3620,13 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
   // max_element
 
   /**
-   *  @brief  Permute range into the next @a dictionary ordering.
+   *  @brief  Permute range into the next @e dictionary ordering.
    *  @ingroup sorting_algorithms
    *  @param  __first  Start of range.
    *  @param  __last   End of range.
    *  @return  False if wrapped to first permutation, true otherwise.
    *
-   *  Treats all permutations of the range as a set of @a dictionary sorted
+   *  Treats all permutations of the range as a set of @e dictionary sorted
    *  sequences.  Permutes the current sequence into the next one of this set.
    *  Returns true if there are more sequences to generate.  If the sequence
    *  is the largest of the set, the smallest is generated and false returned.
@@ -3674,7 +3674,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
     }
 
   /**
-   *  @brief  Permute range into the next @a dictionary ordering using
+   *  @brief  Permute range into the next @e dictionary ordering using
    *          comparison functor.
    *  @ingroup sorting_algorithms
    *  @param  __first  Start of range.
@@ -3683,7 +3683,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
    *  @return  False if wrapped to first permutation, true otherwise.
    *
    *  Treats all permutations of the range [__first,__last) as a set of
-   *  @a dictionary sorted sequences ordered by @a comp.  Permutes the current
+   *  @e dictionary sorted sequences ordered by @p __comp.  Permutes the current
    *  sequence into the next one of this set.  Returns true if there are more
    *  sequences to generate.  If the sequence is the largest of the set, the
    *  smallest is generated and false returned.
@@ -3732,13 +3732,13 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
     }
 
   /**
-   *  @brief  Permute range into the previous @a dictionary ordering.
+   *  @brief  Permute range into the previous @e dictionary ordering.
    *  @ingroup sorting_algorithms
    *  @param  __first  Start of range.
    *  @param  __last   End of range.
    *  @return  False if wrapped to last permutation, true otherwise.
    *
-   *  Treats all permutations of the range as a set of @a dictionary sorted
+   *  Treats all permutations of the range as a set of @e dictionary sorted
    *  sequences.  Permutes the current sequence into the previous one of this
    *  set.  Returns true if there are more sequences to generate.  If the
    *  sequence is the smallest of the set, the largest is generated and false
@@ -3787,7 +3787,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
     }
 
   /**
-   *  @brief  Permute range into the previous @a dictionary ordering using
+   *  @brief  Permute range into the previous @e dictionary ordering using
    *          comparison functor.
    *  @ingroup sorting_algorithms
    *  @param  __first  Start of range.
@@ -3796,7 +3796,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
    *  @return  False if wrapped to last permutation, true otherwise.
    *
    *  Treats all permutations of the range [__first,__last) as a set of
-   *  @a dictionary sorted sequences ordered by @a comp.  Permutes the current
+   *  @e dictionary sorted sequences ordered by @p __comp.  Permutes the current
    *  sequence into the previous one of this set.  Returns true if there are
    *  more sequences to generate.  If the sequence is the smallest of the set,
    *  the largest is generated and false returned.
@@ -4032,7 +4032,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
    *  @ingroup sorting_algorithms
    *  @param  __a  A thing of arbitrary type.
    *  @param  __b  Another thing of arbitrary type.
-   *  @param  __comp  A @link comparison_functor comparison functor @endlink.
+   *  @param  __comp  A @link comparison_functors comparison functor @endlink.
    *  @return A pair(__b, __a) if __b is smaller than __a, pair(__a,
    *  __b) otherwise.
   */
@@ -5258,9 +5258,9 @@  _GLIBCXX_BEGIN_NAMESPACE_ALGO
    *  @p [first,last) and moves them to the range @p [__first,__middle). The
    *  order of the remaining elements in the range @p [__middle,__last) is
    *  undefined.
-   *  After the sort if @p i and @j are iterators in the range
-   *  @p [__first,__middle) such that @i precedes @j and @k is an iterator in
-   *  the range @p [__middle,__last) then @p *j<*i and @p *k<*i are both false.
+   *  After the sort if @e i and @e j are iterators in the range
+   *  @p [__first,__middle) such that i precedes j and @e k is an iterator in
+   *  the range @p [__middle,__last) then *j<*i and *k<*i are both false.
   */
   template<typename _RandomAccessIterator>
     inline void
@@ -5296,8 +5296,8 @@  _GLIBCXX_BEGIN_NAMESPACE_ALGO
    *  @p [__first,__last) and moves them to the range @p [__first,__middle). The
    *  order of the remaining elements in the range @p [__middle,__last) is
    *  undefined.
-   *  After the sort if @p i and @j are iterators in the range
-   *  @p [__first,__middle) such that @i precedes @j and @k is an iterator in
+   *  After the sort if @e i and @e j are iterators in the range
+   *  @p [__first,__middle) such that i precedes j and @e k is an iterator in
    *  the range @p [__middle,__last) then @p *__comp(j,*i) and @p __comp(*k,*i)
    *  are both false.
   */
@@ -5333,11 +5333,10 @@  _GLIBCXX_BEGIN_NAMESPACE_ALGO
    *
    *  Rearranges the elements in the range @p [__first,__last) so that @p *__nth
    *  is the same element that would have been in that position had the
-   *  whole sequence been sorted.
    *  whole sequence been sorted. The elements either side of @p *__nth are
-   *  not completely sorted, but for any iterator @i in the range
-   *  @p [__first,__nth) and any iterator @j in the range @p [__nth,__last) it
-   *  holds that @p *j<*i is false.
+   *  not completely sorted, but for any iterator @e i in the range
+   *  @p [__first,__nth) and any iterator @e j in the range @p [__nth,__last) it
+   *  holds that *j < *i is false.
   */
   template<typename _RandomAccessIterator>
     inline void
@@ -5374,8 +5373,8 @@  _GLIBCXX_BEGIN_NAMESPACE_ALGO
    *  Rearranges the elements in the range @p [__first,__last) so that @p *__nth
    *  is the same element that would have been in that position had the
    *  whole sequence been sorted. The elements either side of @p *__nth are
-   *  not completely sorted, but for any iterator @i in the range
-   *  @p [__first,__nth) and any iterator @j in the range @p [__nth,__last) it
+   *  not completely sorted, but for any iterator @e i in the range
+   *  @p [__first,__nth) and any iterator @e j in the range @p [__nth,__last) it
    *  holds that @p __comp(*j,*i) is false.
   */
   template<typename _RandomAccessIterator, typename _Compare>
@@ -5410,8 +5409,8 @@  _GLIBCXX_BEGIN_NAMESPACE_ALGO
    *  @return  Nothing.
    *
    *  Sorts the elements in the range @p [__first,__last) in ascending order,
-   *  such that @p *(i+1)<*i is false for each iterator @p i in the range
-   *  @p [__first,__last-1).
+   *  such that for each iterator @e i in the range @p [__first,__last-1),  
+   *  *(i+1)<*i is false.
    *
    *  The relative ordering of equivalent elements is not preserved, use
    *  @p stable_sort() if this is needed.
@@ -5446,7 +5445,7 @@  _GLIBCXX_BEGIN_NAMESPACE_ALGO
    *  @return  Nothing.
    *
    *  Sorts the elements in the range @p [__first,__last) in ascending order,
-   *  such that @p __comp(*(i+1),*i) is false for every iterator @p i in the
+   *  such that @p __comp(*(i+1),*i) is false for every iterator @e i in the
    *  range @p [__first,__last-1).
    *
    *  The relative ordering of equivalent elements is not preserved, use
@@ -5484,10 +5483,10 @@  _GLIBCXX_BEGIN_NAMESPACE_ALGO
    *  @param  __last2   Another iterator.
    *  @param  __result  An iterator pointing to the end of the merged range.
    *  @return         An iterator pointing to the first element <em>not less
-   *                  than</em> @a val.
+   *                  than</em> @e val.
    *
-   *  Merges the ranges [__first1,__last1) and [__first2,__last2) into
-   *  the sorted range [__result, __result + (__last1-__first1) +
+   *  Merges the ranges @p [__first1,__last1) and @p [__first2,__last2) into
+   *  the sorted range @p [__result, __result + (__last1-__first1) +
    *  (__last2-__first2)).  Both input ranges must be sorted, and the
    *  output range must not overlap with either of the input ranges.
    *  The sort is @e stable, that is, for equivalent elements in the
@@ -5545,10 +5544,10 @@  _GLIBCXX_BEGIN_NAMESPACE_ALGO
    *  @param  __result  An iterator pointing to the end of the merged range.
    *  @param  __comp    A functor to use for comparisons.
    *  @return         An iterator pointing to the first element "not less
-   *                  than" @a val.
+   *                  than" @e val.
    *
-   *  Merges the ranges [__first1,__last1) and [__first2,__last2) into
-   *  the sorted range [__result, __result + (__last1-__first1) +
+   *  Merges the ranges @p [__first1,__last1) and @p [__first2,__last2) into
+   *  the sorted range @p [__result, __result + (__last1-__first1) +
    *  (__last2-__first2)).  Both input ranges must be sorted, and the
    *  output range must not overlap with either of the input ranges.
    *  The sort is @e stable, that is, for equivalent elements in the
@@ -5610,8 +5609,8 @@  _GLIBCXX_BEGIN_NAMESPACE_ALGO
    *  @return  Nothing.
    *
    *  Sorts the elements in the range @p [__first,__last) in ascending order,
-   *  such that @p *(i+1)<*i is false for each iterator @p i in the range
-   *  @p [__first,__last-1).
+   *  such that for each iterator @p i in the range @p [__first,__last-1),
+   *  @p *(i+1)<*i is false.
    *
    *  The relative ordering of equivalent elements is preserved, so any two
    *  elements @p x and @p y in the range @p [__first,__last) such that
@@ -5652,8 +5651,8 @@  _GLIBCXX_BEGIN_NAMESPACE_ALGO
    *  @return  Nothing.
    *
    *  Sorts the elements in the range @p [__first,__last) in ascending order,
-   *  such that @p __comp(*(i+1),*i) is false for each iterator @p i in the
-   *  range @p [__first,__last-1).
+   *  such that for each iterator @p i in the range @p [__first,__last-1),
+   *  @p __comp(*(i+1),*i) is false.
    *
    *  The relative ordering of equivalent elements is preserved, so any two
    *  elements @p x and @p y in the range @p [__first,__last) such that
@@ -5768,8 +5767,8 @@  _GLIBCXX_BEGIN_NAMESPACE_ALGO
    *  This operation iterates over both ranges, copying elements present in
    *  each range in order to the output range.  Iterators increment for each
    *  range.  When the current element of one range is less than the other
-   *  according to @a __comp, that element is copied and the iterator advanced.
-   *  If an equivalent element according to @a __comp is contained in both
+   *  according to @p __comp, that element is copied and the iterator advanced.
+   *  If an equivalent element according to @p __comp is contained in both
    *  ranges, the element from the first range is copied and both ranges
    *  advance.  The output range may not overlap either input range.
   */
@@ -5892,8 +5891,8 @@  _GLIBCXX_BEGIN_NAMESPACE_ALGO
    *  This operation iterates over both ranges, copying elements present in
    *  both ranges in order to the output range.  Iterators increment for each
    *  range.  When the current element of one range is less than the other
-   *  according to @a __comp, that iterator advances.  If an element is
-   *  contained in both ranges according to @a __comp, the element from the
+   *  according to @p __comp, that iterator advances.  If an element is
+   *  contained in both ranges according to @p __comp, the element from the
    *  first range is copied and both ranges advance.  The output range may not
    *  overlap either input range.
   */
@@ -6009,10 +6008,10 @@  _GLIBCXX_BEGIN_NAMESPACE_ALGO
    *  This operation iterates over both ranges, copying elements present in
    *  the first range but not the second in order to the output range.
    *  Iterators increment for each range.  When the current element of the
-   *  first range is less than the second according to @a comp, that element
+   *  first range is less than the second according to @p __comp, that element
    *  is copied and the iterator advances.  If the current element of the
    *  second range is less, no element is copied and the iterator advances.
-   *  If an element is contained in both ranges according to @a comp, no
+   *  If an element is contained in both ranges according to @p __comp, no
    *  elements are copied and both ranges advance.  The output range may not
    *  overlap either input range.
   */
@@ -6135,9 +6134,9 @@  _GLIBCXX_BEGIN_NAMESPACE_ALGO
    *  This operation iterates over both ranges, copying elements present in
    *  one range but not the other in order to the output range.  Iterators
    *  increment for each range.  When the current element of one range is less
-   *  than the other according to @a comp, that element is copied and the
+   *  than the other according to @p comp, that element is copied and the
    *  iterator advances.  If an element is contained in both ranges according
-   *  to @a comp, no elements are copied and both ranges advance.  The output
+   *  to @p __comp, no elements are copied and both ranges advance.  The output
    *  range may not overlap either input range.
   */
   template<typename _InputIterator1, typename _InputIterator2,
@@ -6223,7 +6222,7 @@  _GLIBCXX_BEGIN_NAMESPACE_ALGO
    *  @param  __last   End of range.
    *  @param  __comp   Comparison functor.
    *  @return  Iterator referencing the first instance of the smallest value
-   *  according to comp.
+   *  according to __comp.
   */
   template<typename _ForwardIterator, typename _Compare>
     _ForwardIterator
diff --git a/libstdc++-v3/include/bits/stl_list.h b/libstdc++-v3/include/bits/stl_list.h
index fc1d8f8..e422de8 100644
--- a/libstdc++-v3/include/bits/stl_list.h
+++ b/libstdc++-v3/include/bits/stl_list.h
@@ -1441,9 +1441,10 @@  _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
 
       /**
        *  @brief  Merge sorted lists according to comparison function.
-       *  @param  __x  Sorted list to merge.
        *  @tparam _StrictWeakOrdering Comparison function defining
        *  sort order.
+       *  @param  __x  Sorted list to merge.
+       *  @param  __comp  Comparison functor.
        *
        *  Assumes that both @a __x and this list are sorted according to
        *  StrictWeakOrdering.  Merges elements of @a __x into this list
diff --git a/libstdc++-v3/include/bits/stl_numeric.h b/libstdc++-v3/include/bits/stl_numeric.h
index 0ec746f..085fe93 100644
--- a/libstdc++-v3/include/bits/stl_numeric.h
+++ b/libstdc++-v3/include/bits/stl_numeric.h
@@ -133,7 +133,7 @@  _GLIBCXX_BEGIN_NAMESPACE_ALGO
    *  @brief  Accumulate values in a range with operation.
    *
    *  Accumulates the values in the range [first,last) using the function
-   *  object @a binary_op.  The initial value is @a init.  The values are
+   *  object @p __binary_op.  The initial value is @p __init.  The values are
    *  processed in order.
    *
    *  @param  __first  Start of range.
@@ -159,7 +159,7 @@  _GLIBCXX_BEGIN_NAMESPACE_ALGO
   /**
    *  @brief  Compute inner product of two ranges.
    *
-   *  Starting with an initial value of @a init, multiplies successive
+   *  Starting with an initial value of @p __init, multiplies successive
    *  elements from the two ranges and adds each product into the accumulated
    *  value using operator+().  The values in the ranges are processed in
    *  order.
@@ -188,9 +188,9 @@  _GLIBCXX_BEGIN_NAMESPACE_ALGO
   /**
    *  @brief  Compute inner product of two ranges.
    *
-   *  Starting with an initial value of @a init, applies @a binary_op2 to
+   *  Starting with an initial value of @p __init, applies @p __binary_op2 to
    *  successive elements from the two ranges and accumulates each result into
-   *  the accumulated value using @a binary_op1.  The values in the ranges are
+   *  the accumulated value using @p __binary_op1.  The values in the ranges are
    *  processed in order.
    *
    *  @param  __first1  Start of range 1.
@@ -224,14 +224,14 @@  _GLIBCXX_BEGIN_NAMESPACE_ALGO
    *
    *  Accumulates the values in the range [first,last) using operator+().
    *  As each successive input value is added into the total, that partial sum
-   *  is written to @a result.  Therefore, the first value in result is the
+   *  is written to @p __result.  Therefore, the first value in result is the
    *  first value of the input, the second value in result is the sum of the
    *  first and second input values, and so on.
    *
    *  @param  __first  Start of input range.
    *  @param  __last  End of input range.
-   *  @param  __result  Output to write sums to.
-   *  @return  Iterator pointing just beyond the values written to result.
+   *  @param  __result  Output sum.
+   *  @return  Iterator pointing just beyond the values written to __result.
    */
   template<typename _InputIterator, typename _OutputIterator>
     _OutputIterator
@@ -263,14 +263,14 @@  _GLIBCXX_BEGIN_NAMESPACE_ALGO
    *
    *  Accumulates the values in the range [first,last) using operator+().
    *  As each successive input value is added into the total, that partial sum
-   *  is written to @a result.  Therefore, the first value in result is the
+   *  is written to @p __result.  Therefore, the first value in result is the
    *  first value of the input, the second value in result is the sum of the
    *  first and second input values, and so on.
    *
    *  @param  __first  Start of input range.
    *  @param  __last  End of input range.
-   *  @param  __result  Output to write sums to.
-   *  @return  Iterator pointing just beyond the values written to result.
+   *  @param  __result  Output sum.
+   *  @return  Iterator pointing just beyond the values written to __result.
    */
   template<typename _InputIterator, typename _OutputIterator,
 	   typename _BinaryOperation>
@@ -302,11 +302,11 @@  _GLIBCXX_BEGIN_NAMESPACE_ALGO
    *  @brief  Return differences between adjacent values.
    *
    *  Computes the difference between adjacent values in the range
-   *  [first,last) using operator-() and writes the result to @a result.
+   *  [first,last) using operator-() and writes the result to @p __result.
    *
    *  @param  __first  Start of input range.
    *  @param  __last  End of input range.
-   *  @param  __result  Output to write sums to.
+   *  @param  __result  Output sums.
    *  @return  Iterator pointing just beyond the values written to result.
    *
    *  _GLIBCXX_RESOLVE_LIB_DEFECTS
@@ -342,12 +342,13 @@  _GLIBCXX_BEGIN_NAMESPACE_ALGO
    *  @brief  Return differences between adjacent values.
    *
    *  Computes the difference between adjacent values in the range
-   *  [__first,__last) using the function object @a __binary_op and writes the
-   *  result to @a __result.
+   *  [__first,__last) using the function object @p __binary_op and writes the
+   *  result to @p __result.
    *
    *  @param  __first  Start of input range.
    *  @param  __last  End of input range.
-   *  @param  __result  Output to write sums to.
+   *  @param  __result  Output sum.
+   *  @param  __binary_op Function object.
    *  @return  Iterator pointing just beyond the values written to result.
    *
    *  _GLIBCXX_RESOLVE_LIB_DEFECTS
diff --git a/libstdc++-v3/include/debug/safe_base.h b/libstdc++-v3/include/debug/safe_base.h
index 1348004..a1aa536 100644
--- a/libstdc++-v3/include/debug/safe_base.h
+++ b/libstdc++-v3/include/debug/safe_base.h
@@ -79,7 +79,7 @@  namespace __gnu_debug
     { }
 
     /** Initialize the iterator to reference the sequence pointed to
-     *  by @p__seq. @p __constant is true when we are initializing a
+     *  by @p __seq. @p __constant is true when we are initializing a
      *  constant iterator, and false if it is a mutable iterator. Note
      *  that @p __seq may be NULL, in which case the iterator will be
      *  singular. Otherwise, the iterator will reference @p __seq and
diff --git a/libstdc++-v3/include/parallel/equally_split.h b/libstdc++-v3/include/parallel/equally_split.h
index a840ae3..31a0fca 100644
--- a/libstdc++-v3/include/parallel/equally_split.h
+++ b/libstdc++-v3/include/parallel/equally_split.h
@@ -68,6 +68,7 @@  namespace __gnu_parallel
    *  thread number __thread_no+1 (excluded).
    *  @param __n Number of elements
    *  @param __num_threads Number of parts
+   *  @param __thread_no Number of threads
    *  @returns splitting point */
   template<typename _DifferenceType>
     _DifferenceType
diff --git a/libstdc++-v3/include/std/bitset b/libstdc++-v3/include/std/bitset
index e07c5e0..792a05a 100644
--- a/libstdc++-v3/include/std/bitset
+++ b/libstdc++-v3/include/std/bitset
@@ -683,7 +683,7 @@  _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
 #endif
 
   /**
-   *  @brief  The %bitset class represents a @e fixed-size sequence of bits.
+   *  The %bitset class represents a @e fixed-size sequence of bits.
    *
    *  @ingroup containers
    *
@@ -855,7 +855,7 @@  _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
 #endif
 
       /**
-       *  @brief  Use a subset of a string.
+       *  Use a subset of a string.
        *  @param  __s  A string of @a 0 and @a 1 characters.
        *  @param  __position  Index of the first character in @a __s to use;
        *                    defaults to zero.
@@ -878,7 +878,7 @@  _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
 	}
 
       /**
-       *  @brief  Use a subset of a string.
+       *  Use a subset of a string.
        *  @param  __s  A string of @a 0 and @a 1 characters.
        *  @param  __position  Index of the first character in @a __s to use.
        *  @param  __n    The number of characters to copy.
@@ -914,7 +914,7 @@  _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
 
 #ifdef __GXX_EXPERIMENTAL_CXX0X__
       /**
-       *  @brief  Construct from a character %array.
+       *  Construct from a character %array.
        *  @param  __str  An %array of characters @a zero and @a one.
        *  @param  __n    The number of characters to use.
        *  @param  __zero The character corresponding to the value 0.
@@ -944,7 +944,7 @@  _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
       // 23.3.5.2 bitset operations:
       //@{
       /**
-       *  @brief  Operations on bitsets.
+       *  Operations on bitsets.
        *  @param  __rhs  A same-sized bitset.
        *
        *  These should be self-explanatory.
@@ -973,7 +973,7 @@  _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
       
       //@{
       /**
-       *  @brief  Operations on bitsets.
+       *  Operations on bitsets.
        *  @param  __position  The number of places to shift.
        *
        *  These should be self-explanatory.
diff --git a/libstdc++-v3/include/std/complex b/libstdc++-v3/include/std/complex
index 1ab016e..c0e3331 100644
--- a/libstdc++-v3/include/std/complex
+++ b/libstdc++-v3/include/std/complex
@@ -1035,8 +1035,8 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
 	                 : std::pow(complex<_Tp>(__x), __y);
     }
 
-  // 26.2.3  complex specializations
-  // complex<float> specialization
+  /// 26.2.3  complex specializations
+  /// complex<float> specialization
   template<>
     struct complex<float>
     {
@@ -1182,8 +1182,8 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
       _ComplexT _M_value;
     };
 
-  // 26.2.3  complex specializations
-  // complex<double> specialization
+  /// 26.2.3  complex specializations
+  /// complex<double> specialization
   template<>
     struct complex<double>
     {
@@ -1330,8 +1330,8 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
       _ComplexT _M_value;
     };
 
-  // 26.2.3  complex specializations
-  // complex<long double> specialization
+  /// 26.2.3  complex specializations
+  /// complex<long double> specialization
   template<>
     struct complex<long double>
     {
diff --git a/libstdc++-v3/include/std/fstream b/libstdc++-v3/include/std/fstream
index 245404e..65de272 100644
--- a/libstdc++-v3/include/std/fstream
+++ b/libstdc++-v3/include/std/fstream
@@ -620,7 +620,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
        *  @param  __mode  Open file in specified mode (see std::ios_base).
        *
        *  @c ios_base::out|ios_base::trunc is automatically included in
-       *  @a __mode.
+       *  @p __mode.
        *
        *  Tip:  When using std::string to hold the filename, you must use
        *  .c_str() before passing it to this constructor.
diff --git a/libstdc++-v3/include/std/istream b/libstdc++-v3/include/std/istream
index 19bc42b..57b2113 100644
--- a/libstdc++-v3/include/std/istream
+++ b/libstdc++-v3/include/std/istream
@@ -44,9 +44,8 @@  namespace std _GLIBCXX_VISIBILITY(default)
 {
 _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
-  // [27.6.1.1] Template class basic_istream
   /**
-   *  @brief  Controlling input.
+   *  @brief  Template class basic_istream.
    *  @ingroup io
    *
    *  This is the base class for all input streams.  It provides text
@@ -58,19 +57,19 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
     {
     public:
       // Types (inherited from basic_ios (27.4.4)):
-      typedef _CharT                     		char_type;
+      typedef _CharT			 		char_type;
       typedef typename _Traits::int_type 		int_type;
       typedef typename _Traits::pos_type 		pos_type;
       typedef typename _Traits::off_type 		off_type;
-      typedef _Traits                    		traits_type;
-      
+      typedef _Traits			 		traits_type;
+
       // Non-standard Types:
       typedef basic_streambuf<_CharT, _Traits> 		__streambuf_type;
       typedef basic_ios<_CharT, _Traits>		__ios_type;
       typedef basic_istream<_CharT, _Traits>		__istream_type;
-      typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> >        
+      typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> >
  							__num_get_type;
-      typedef ctype<_CharT>           			__ctype_type;
+      typedef ctype<_CharT>	      			__ctype_type;
 
     protected:
       // Data Members:
@@ -81,7 +80,6 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
       streamsize 		_M_gcount;
 
     public:
-      // [27.6.1.1.1] constructor/destructor
       /**
        *  @brief  Base constructor.
        *
@@ -99,23 +97,21 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
        *
        *  This does very little apart from providing a virtual base dtor.
       */
-      virtual 
-      ~basic_istream() 
+      virtual
+      ~basic_istream()
       { _M_gcount = streamsize(0); }
 
-      // [27.6.1.1.2] prefix/suffix
+      /// Safe prefix/suffix operations.
       class sentry;
       friend class sentry;
 
-      // [27.6.1.2] formatted input
-      // [27.6.1.2.3] basic_istream::operator>>
       //@{
       /**
        *  @brief  Interface for manipulators.
        *
        *  Manipulators such as @c std::ws and @c std::dec use these
-       *  functions in constructs like 
-       *  <code>std::cin >> std::ws</code>. 
+       *  functions in constructs like
+       *  <code>std::cin >> std::ws</code>.
        *  For more information, see the iomanip header.
       */
       __istream_type&
@@ -124,7 +120,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
       __istream_type&
       operator>>(__ios_type& (*__pf)(__ios_type&))
-      { 
+      {
 	__pf(*this);
 	return *this;
       }
@@ -136,10 +132,10 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
 	return *this;
       }
       //@}
-      
-      // [27.6.1.2.2] arithmetic extractors
+
+      //@{
       /**
-       *  @name Arithmetic Extractors
+       *  @name Extractors
        *
        *  All the @c operator>> functions (aka <em>formatted input
        *  functions</em>) have some common behavior.  Each starts by
@@ -156,64 +152,84 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
        *  ios_base::failure to be thrown.  The original exception will then
        *  be rethrown.
       */
+
       //@{
       /**
-       *  @brief  Basic arithmetic extractors
-       *  @param  __n, __f, __p: A variable of builtin type.
+       *  @brief  Integer arithmetic extractors
+       *  @param  __n A variable of builtin integral type.
        *  @return  @c *this if successful
        *
        *  These functions use the stream's current locale (specifically, the
        *  @c num_get facet) to parse the input data.
       */
-      __istream_type& 
+      __istream_type&
       operator>>(bool& __n)
       { return _M_extract(__n); }
-      
-      __istream_type& 
+
+      __istream_type&
       operator>>(short& __n);
-      
-      __istream_type& 
+
+      __istream_type&
       operator>>(unsigned short& __n)
       { return _M_extract(__n); }
 
-      __istream_type& 
+      __istream_type&
       operator>>(int& __n);
-    
-      __istream_type& 
+
+      __istream_type&
       operator>>(unsigned int& __n)
       { return _M_extract(__n); }
 
-      __istream_type& 
+      __istream_type&
       operator>>(long& __n)
       { return _M_extract(__n); }
-      
-      __istream_type& 
+
+      __istream_type&
       operator>>(unsigned long& __n)
       { return _M_extract(__n); }
 
 #ifdef _GLIBCXX_USE_LONG_LONG
-      __istream_type& 
+      __istream_type&
       operator>>(long long& __n)
       { return _M_extract(__n); }
 
-      __istream_type& 
+      __istream_type&
       operator>>(unsigned long long& __n)
       { return _M_extract(__n); }
 #endif
+      //@}
 
-      __istream_type& 
+      //@{
+      /**
+       *  @brief  Floating point arithmetic extractors
+       *  @param  __f A variable of builtin floating point type.
+       *  @return  @c *this if successful
+       *
+       *  These functions use the stream's current locale (specifically, the
+       *  @c num_get facet) to parse the input data.
+      */
+      __istream_type&
       operator>>(float& __f)
       { return _M_extract(__f); }
 
-      __istream_type& 
+      __istream_type&
       operator>>(double& __f)
       { return _M_extract(__f); }
 
-      __istream_type& 
+      __istream_type&
       operator>>(long double& __f)
       { return _M_extract(__f); }
+      //@}
 
-      __istream_type& 
+      /**
+       *  @brief  Basic arithmetic extractors
+       *  @param  __p A variable of pointer type.
+       *  @return  @c *this if successful
+       *
+       *  These functions use the stream's current locale (specifically, the
+       *  @c num_get facet) to parse the input data.
+      */
+      __istream_type&
       operator>>(void*& __p)
       { return _M_extract(__p); }
 
@@ -225,10 +241,10 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
        *  in that it also constructs a sentry object and has the same error
        *  handling behavior.
        *
-       *  If @a __sb is NULL, the stream will set failbit in its error state.
+       *  If @p __sb is NULL, the stream will set failbit in its error state.
        *
        *  Characters are extracted from this stream and inserted into the
-       *  @a sb streambuf until one of the following occurs:
+       *  @p __sb streambuf until one of the following occurs:
        *
        *  - the input stream reaches end-of-file,
        *  - insertion into the output buffer fails (in this case, the
@@ -237,20 +253,21 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
        *
        *  If the function inserts no characters, failbit is set.
       */
-      __istream_type& 
+      __istream_type&
       operator>>(__streambuf_type* __sb);
       //@}
-      
+
       // [27.6.1.3] unformatted input
       /**
        *  @brief  Character counting
        *  @return  The number of characters extracted by the previous
        *           unformatted input function dispatched for this stream.
       */
-      streamsize 
-      gcount() const 
+      streamsize
+      gcount() const
       { return _M_gcount; }
-      
+
+      //@{
       /**
        *  @name Unformatted Input Functions
        *
@@ -271,7 +288,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
        *  ios_base::failure to be thrown.  The original exception will then
        *  be rethrown.
       */
-      //@{
+
       /**
        *  @brief  Simple extraction.
        *  @return  A character, or eof().
@@ -279,7 +296,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
        *  Tries to extract a character.  If none are available, sets failbit
        *  and returns traits::eof().
       */
-      int_type 
+      int_type
       get();
 
       /**
@@ -293,7 +310,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
        *  @note  This function is not overloaded on signed char and
        *         unsigned char.
       */
-      __istream_type& 
+      __istream_type&
       get(char_type& __c);
 
       /**
@@ -320,7 +337,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
        *  @note  This function is not overloaded on signed char and
        *         unsigned char.
       */
-      __istream_type& 
+      __istream_type&
       get(char_type* __s, streamsize __n, char_type __delim);
 
       /**
@@ -331,7 +348,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
        *
        *  Returns @c get(__s,__n,widen(&apos;\\n&apos;)).
       */
-      __istream_type& 
+      __istream_type&
       get(char_type* __s, streamsize __n)
       { return this->get(__s, __n, this->widen('\n')); }
 
@@ -393,7 +410,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
        *  In any case, a null character is stored in the next location in
        *  the array.
       */
-      __istream_type& 
+      __istream_type&
       getline(char_type* __s, streamsize __n, char_type __delim);
 
       /**
@@ -404,7 +421,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
        *
        *  Returns @c getline(__s,__n,widen(&apos;\\n&apos;)).
       */
-      __istream_type& 
+      __istream_type&
       getline(char_type* __s, streamsize __n)
       { return this->getline(__s, __n, this->widen('\n')); }
 
@@ -428,13 +445,13 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
        *  better performing implementation, while still conforming to
        *  the Standard.
       */
-      __istream_type& 
+      __istream_type&
       ignore(streamsize __n, int_type __delim);
 
-      __istream_type& 
+      __istream_type&
       ignore(streamsize __n);
 
-      __istream_type& 
+      __istream_type&
       ignore();
 
       /**
@@ -445,9 +462,9 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
        *  returns @c traits::eof().  Otherwise reads but does not extract
        *  the next input character.
       */
-      int_type 
+      int_type
       peek();
-      
+
       /**
        *  @brief  Extraction without delimiters.
        *  @param  __s  A character array.
@@ -463,7 +480,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
        *  @note  This function is not overloaded on signed char and
        *         unsigned char.
       */
-      __istream_type& 
+      __istream_type&
       read(char_type* __s, streamsize __n);
 
       /**
@@ -482,9 +499,9 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
        *  The goal is to empty the current buffer, and to not request any
        *  more from the external input sequence controlled by the streambuf.
       */
-      streamsize 
+      streamsize
       readsome(char_type* __s, streamsize __n);
-      
+
       /**
        *  @brief  Unextracting a single character.
        *  @param  __c  The character to push back into the input stream.
@@ -499,7 +516,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
        *         are extracted, the next call to @c gcount() will return 0,
        *         as required by DR 60.
       */
-      __istream_type& 
+      __istream_type&
       putback(char_type __c);
 
       /**
@@ -515,7 +532,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
        *         are extracted, the next call to @c gcount() will return 0,
        *         as required by DR 60.
       */
-      __istream_type& 
+      __istream_type&
       unget();
 
       /**
@@ -533,7 +550,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
        *         extracted, if any, and therefore does not affect the next
        *         call to @c gcount().
       */
-      int 
+      int
       sync();
 
       /**
@@ -579,7 +596,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
        *         number of characters extracted, if any, and therefore does
        *         not affect the next call to @c gcount().
       */
-      __istream_type& 
+      __istream_type&
       seekg(off_type, ios_base::seekdir);
       //@}
 
@@ -589,29 +606,29 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
       { this->init(0); }
 
       template<typename _ValueT>
-        __istream_type&
-        _M_extract(_ValueT& __v);
+	__istream_type&
+	_M_extract(_ValueT& __v);
     };
 
-  // Explicit specialization declarations, defined in src/istream.cc.
-  template<> 
-    basic_istream<char>& 
+  /// Explicit specialization declarations, defined in src/istream.cc.
+  template<>
+    basic_istream<char>&
     basic_istream<char>::
     getline(char_type* __s, streamsize __n, char_type __delim);
-  
+
   template<>
     basic_istream<char>&
     basic_istream<char>::
     ignore(streamsize __n);
-  
+
   template<>
     basic_istream<char>&
     basic_istream<char>::
     ignore(streamsize __n, int_type __delim);
 
 #ifdef _GLIBCXX_USE_WCHAR_T
-  template<> 
-    basic_istream<wchar_t>& 
+  template<>
+    basic_istream<wchar_t>&
     basic_istream<wchar_t>::
     getline(char_type* __s, streamsize __n, char_type __delim);
 
@@ -619,7 +636,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
     basic_istream<wchar_t>&
     basic_istream<wchar_t>::
     ignore(streamsize __n);
-  
+
   template<>
     basic_istream<wchar_t>&
     basic_istream<wchar_t>::
@@ -687,7 +704,6 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
       { return _M_ok; }
     };
 
-  // [27.6.1.2.3] character extraction templates
   //@{
   /**
    *  @brief  Character extractors
@@ -762,9 +778,8 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
     { return (__in >> reinterpret_cast<char*>(__s)); }
   //@}
 
-  // 27.6.1.5 Template class basic_iostream
   /**
-   *  @brief  Merging istream and ostream capabilities.
+   *  @brief  Template class basic_iostream
    *  @ingroup io
    *
    *  This class multiply inherits from the input and output stream classes
@@ -772,18 +787,18 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
   */
   template<typename _CharT, typename _Traits>
     class basic_iostream
-    : public basic_istream<_CharT, _Traits>, 
+    : public basic_istream<_CharT, _Traits>,
       public basic_ostream<_CharT, _Traits>
     {
     public:
       // _GLIBCXX_RESOLVE_LIB_DEFECTS
       // 271. basic_iostream missing typedefs
       // Types (inherited):
-      typedef _CharT                     		char_type;
+      typedef _CharT			 		char_type;
       typedef typename _Traits::int_type 		int_type;
       typedef typename _Traits::pos_type 		pos_type;
       typedef typename _Traits::off_type 		off_type;
-      typedef _Traits                    		traits_type;
+      typedef _Traits			 		traits_type;
 
       // Non-standard Types:
       typedef basic_istream<_CharT, _Traits>		__istream_type;
@@ -802,7 +817,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
       /**
        *  @brief  Destructor does nothing.
       */
-      virtual 
+      virtual
       ~basic_iostream() { }
 
     protected:
@@ -810,7 +825,6 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
       : __istream_type(), __ostream_type() { }
     };
 
-  // [27.6.1.4] standard basic_istream manipulators
   /**
    *  @brief  Quick and easy way to eat whitespace
    *
@@ -832,7 +846,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
    *  std::basic_istream::sentry inside your definition of operator>>.
   */
   template<typename _CharT, typename _Traits>
-    basic_istream<_CharT, _Traits>& 
+    basic_istream<_CharT, _Traits>&
     ws(basic_istream<_CharT, _Traits>& __is);
 
 #ifdef __GXX_EXPERIMENTAL_CXX0X__
diff --git a/libstdc++-v3/include/std/ostream b/libstdc++-v3/include/std/ostream
index f1f948f..498a060 100644
--- a/libstdc++-v3/include/std/ostream
+++ b/libstdc++-v3/include/std/ostream
@@ -44,9 +44,8 @@  namespace std _GLIBCXX_VISIBILITY(default)
 {
 _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
-  // [27.6.2.1] Template class basic_ostream
   /**
-   *  @brief  Controlling output.
+   *  @brief  Template class basic_ostream.
    *  @ingroup io
    *
    *  This is the base class for all output streams.  It provides text
@@ -57,22 +56,21 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
     class basic_ostream : virtual public basic_ios<_CharT, _Traits>
     {
     public:
-      // Types (inherited from basic_ios (27.4.4)):
-      typedef _CharT                     		char_type;
+      // Types (inherited from basic_ios):
+      typedef _CharT			 		char_type;
       typedef typename _Traits::int_type 		int_type;
       typedef typename _Traits::pos_type 		pos_type;
       typedef typename _Traits::off_type 		off_type;
-      typedef _Traits                    		traits_type;
-      
+      typedef _Traits			 		traits_type;
+
       // Non-standard Types:
       typedef basic_streambuf<_CharT, _Traits> 		__streambuf_type;
       typedef basic_ios<_CharT, _Traits>		__ios_type;
       typedef basic_ostream<_CharT, _Traits>		__ostream_type;
-      typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> >        
+      typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> >
       							__num_put_type;
-      typedef ctype<_CharT>           			__ctype_type;
+      typedef ctype<_CharT>	      			__ctype_type;
 
-      // [27.6.2.2] constructor/destructor
       /**
        *  @brief  Base constructor.
        *
@@ -80,7 +78,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
        *  derived classes' initialization lists, which pass a pointer to
        *  their own stream buffer.
       */
-      explicit 
+      explicit
       basic_ostream(__streambuf_type* __sb)
       { this->init(__sb); }
 
@@ -89,15 +87,13 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
        *
        *  This does very little apart from providing a virtual base dtor.
       */
-      virtual 
+      virtual
       ~basic_ostream() { }
 
-      // [27.6.2.3] prefix/suffix
+      /// Safe prefix/suffix operations.
       class sentry;
       friend class sentry;
-      
-      // [27.6.2.5] formatted output
-      // [27.6.2.5.3]  basic_ostream::operator<<
+
       //@{
       /**
        *  @brief  Interface for manipulators.
@@ -136,9 +132,9 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
       }
       //@}
 
-      // [27.6.2.5.2] arithmetic inserters
+      //@{
       /**
-       *  @name Arithmetic Inserters
+       *  @name Inserters
        *
        *  All the @c operator<< functions (aka <em>formatted output
        *  functions</em>) have some common behavior.  Each starts by
@@ -154,31 +150,32 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
        *  ios_base::failure to be thrown.  The original exception will then
        *  be rethrown.
       */
+
       //@{
       /**
-       *  @brief  Basic arithmetic inserters
-       *  @param  __n, __f, __p A variable of builtin type.
+       *  @brief Integer arithmetic inserters
+       *  @param  __n A variable of builtin integral type.
        *  @return  @c *this if successful
        *
        *  These functions use the stream's current locale (specifically, the
        *  @c num_get facet) to perform numeric formatting.
       */
-      __ostream_type& 
+      __ostream_type&
       operator<<(long __n)
       { return _M_insert(__n); }
-      
-      __ostream_type& 
+
+      __ostream_type&
       operator<<(unsigned long __n)
-      { return _M_insert(__n); }	
+      { return _M_insert(__n); }
 
-      __ostream_type& 
+      __ostream_type&
       operator<<(bool __n)
       { return _M_insert(__n); }
 
-      __ostream_type& 
+      __ostream_type&
       operator<<(short __n);
 
-      __ostream_type& 
+      __ostream_type&
       operator<<(unsigned short __n)
       {
 	// _GLIBCXX_RESOLVE_LIB_DEFECTS
@@ -186,10 +183,10 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
 	return _M_insert(static_cast<unsigned long>(__n));
       }
 
-      __ostream_type& 
+      __ostream_type&
       operator<<(int __n);
 
-      __ostream_type& 
+      __ostream_type&
       operator<<(unsigned int __n)
       {
 	// _GLIBCXX_RESOLVE_LIB_DEFECTS
@@ -198,20 +195,30 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
       }
 
 #ifdef _GLIBCXX_USE_LONG_LONG
-      __ostream_type& 
+      __ostream_type&
       operator<<(long long __n)
       { return _M_insert(__n); }
 
-      __ostream_type& 
+      __ostream_type&
       operator<<(unsigned long long __n)
-      { return _M_insert(__n); }	
+      { return _M_insert(__n); }
 #endif
+      //@}
 
-      __ostream_type& 
+      //@{
+      /**
+       *  @brief  Floating point arithmetic inserters
+       *  @param  __f A variable of builtin floating point type.
+       *  @return  @c *this if successful
+       *
+       *  These functions use the stream's current locale (specifically, the
+       *  @c num_get facet) to perform numeric formatting.
+      */
+      __ostream_type&
       operator<<(double __f)
       { return _M_insert(__f); }
 
-      __ostream_type& 
+      __ostream_type&
       operator<<(float __f)
       {
 	// _GLIBCXX_RESOLVE_LIB_DEFECTS
@@ -219,11 +226,20 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
 	return _M_insert(static_cast<double>(__f));
       }
 
-      __ostream_type& 
+      __ostream_type&
       operator<<(long double __f)
       { return _M_insert(__f); }
+      //@}
 
-      __ostream_type& 
+      /**
+       *  @brief  Pointer arithmetic inserters
+       *  @param  __p A variable of pointer type.
+       *  @return  @c *this if successful
+       *
+       *  These functions use the stream's current locale (specifically, the
+       *  @c num_get facet) to perform numeric formatting.
+      */
+      __ostream_type&
       operator<<(const void* __p)
       { return _M_insert(__p); }
 
@@ -235,24 +251,24 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
        *  in that it also constructs a sentry object and has the same error
        *  handling behavior.
        *
-       *  If @a __sb is NULL, the stream will set failbit in its error state.
+       *  If @p __sb is NULL, the stream will set failbit in its error state.
        *
-       *  Characters are extracted from @a __sb and inserted into @c *this
+       *  Characters are extracted from @p __sb and inserted into @c *this
        *  until one of the following occurs:
        *
        *  - the input stream reaches end-of-file,
        *  - insertion into the output sequence fails (in this case, the
        *    character that would have been inserted is not extracted), or
-       *  - an exception occurs while getting a character from @a __sb, which
+       *  - an exception occurs while getting a character from @p __sb, which
        *    sets failbit in the error state
        *
        *  If the function inserts no characters, failbit is set.
       */
-      __ostream_type& 
+      __ostream_type&
       operator<<(__streambuf_type* __sb);
       //@}
 
-      // [27.6.2.6] unformatted output functions
+      //@{
       /**
        *  @name Unformatted Output Functions
        *
@@ -270,21 +286,25 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
        *  the stream's exceptions mask, the exception will be rethrown
        *  without completing its actions.
       */
-      //@{
+
       /**
        *  @brief  Simple insertion.
        *  @param  __c  The character to insert.
        *  @return  *this
        *
-       *  Tries to insert @a c.
+       *  Tries to insert @p __c.
        *
        *  @note  This function is not overloaded on signed char and
        *         unsigned char.
       */
-      __ostream_type& 
+      __ostream_type&
       put(char_type __c);
 
-      // Core write functionality, without sentry.
+      /**
+       *  @brief  Core write functionality, without sentry.
+       *  @param  __s  The array to insert.
+       *  @param  __n  Maximum number of characters to insert.
+      */
       void
       _M_write(const char_type* __s, streamsize __n)
       {
@@ -299,17 +319,17 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
        *  @param  __n  Maximum number of characters to insert.
        *  @return  *this
        *
-       *  Characters are copied from @a __s and inserted into the stream until
+       *  Characters are copied from @p __s and inserted into the stream until
        *  one of the following happens:
        *
-       *  - @a __n characters are inserted
+       *  - @p __n characters are inserted
        *  - inserting into the output sequence fails (in this case, badbit
        *    will be set in the stream's error state)
        *
        *  @note  This function is not overloaded on signed char and
        *         unsigned char.
       */
-      __ostream_type& 
+      __ostream_type&
       write(const char_type* __s, streamsize __n);
       //@}
 
@@ -322,10 +342,9 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
        *  Otherwise, calls @c rdbuf()->pubsync(), and if that returns -1,
        *  sets badbit.
       */
-      __ostream_type& 
+      __ostream_type&
       flush();
 
-      // [27.6.2.4] seek members
       /**
        *  @brief  Getting the current write position.
        *  @return  A file position object.
@@ -333,7 +352,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
        *  If @c fail() is not false, returns @c pos_type(-1) to indicate
        *  failure.  Otherwise returns @c rdbuf()->pubseekoff(0,cur,out).
       */
-      pos_type 
+      pos_type
       tellp();
 
       /**
@@ -344,7 +363,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
        *  If @c fail() is not true, calls @c rdbuf()->pubseekpos(pos).  If
        *  that function fails, sets failbit.
       */
-      __ostream_type& 
+      __ostream_type&
       seekp(pos_type);
 
       /**
@@ -356,16 +375,16 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
        *  If @c fail() is not true, calls @c rdbuf()->pubseekoff(off,dir).
        *  If that function fails, sets failbit.
       */
-       __ostream_type& 
+       __ostream_type&
       seekp(off_type, ios_base::seekdir);
-      
+
     protected:
       basic_ostream()
       { this->init(0); }
 
       template<typename _ValueT>
-        __ostream_type&
-        _M_insert(_ValueT __v);
+	__ostream_type&
+	_M_insert(_ValueT __v);
     };
 
   /**
@@ -381,7 +400,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
       // Data Members.
       bool 				_M_ok;
       basic_ostream<_CharT, _Traits>& 	_M_os;
-      
+
     public:
       /**
        *  @brief  The constructor performs preparatory work.
@@ -429,7 +448,6 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
       { return _M_ok; }
     };
 
-  // [27.6.2.5.4] character insertion templates
   //@{
   /**
    *  @brief  Character inserters
@@ -443,7 +461,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
    *  padding (as determined by [22.2.2.2.2]).  @c __out.width(0) is then
    *  called.
    *
-   *  If @a __c is of type @c char and the character type of the stream is not
+   *  If @p __c is of type @c char and the character type of the stream is not
    *  @c char, the character is widened before insertion.
   */
   template<typename _CharT, typename _Traits>
@@ -457,7 +475,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
     { return (__out << __out.widen(__c)); }
 
   // Specialization
-  template <class _Traits> 
+  template <class _Traits>
     inline basic_ostream<char, _Traits>&
     operator<<(basic_ostream<char, _Traits>& __out, char __c)
     { return __ostream_insert(__out, &__c, 1); }
@@ -467,25 +485,25 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
     inline basic_ostream<char, _Traits>&
     operator<<(basic_ostream<char, _Traits>& __out, signed char __c)
     { return (__out << static_cast<char>(__c)); }
-  
+
   template<class _Traits>
     inline basic_ostream<char, _Traits>&
     operator<<(basic_ostream<char, _Traits>& __out, unsigned char __c)
     { return (__out << static_cast<char>(__c)); }
   //@}
-  
+
   //@{
   /**
    *  @brief  String inserters
    *  @param  __out  An output stream.
    *  @param  __s  A character string.
    *  @return  out
-   *  @pre  @a s must be a non-NULL pointer
+   *  @pre  @p __s must be a non-NULL pointer
    *
    *  Behaves like one of the formatted arithmetic inserters described in
    *  std::basic_ostream.  After constructing a sentry object with good
    *  status, this function inserts @c traits::length(__s) characters starting
-   *  at @a __s, widened if necessary, followed by any required padding (as
+   *  at @p __s, widened if necessary, followed by any required padding (as
    *  determined by [22.2.2.2.2]).  @c __out.width(0) is then called.
   */
   template<typename _CharT, typename _Traits>
@@ -529,7 +547,8 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
     { return (__out << reinterpret_cast<const char*>(__s)); }
   //@}
 
-  // [27.6.2.7] standard basic_ostream manipulators
+  // Standard basic_ostream manipulators
+
   /**
    *  @brief  Write a newline and flush the stream.
    *
@@ -539,33 +558,33 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
    *  for more on this subject.
   */
   template<typename _CharT, typename _Traits>
-    inline basic_ostream<_CharT, _Traits>& 
+    inline basic_ostream<_CharT, _Traits>&
     endl(basic_ostream<_CharT, _Traits>& __os)
     { return flush(__os.put(__os.widen('\n'))); }
 
   /**
    *  @brief  Write a null character into the output sequence.
    *
-   *  <em>Null character</em> is @c CharT() by definition.  For CharT of @c char,
-   *  this correctly writes the ASCII @c NUL character string terminator.
+   *  <em>Null character</em> is @c CharT() by definition.  For CharT
+   *  of @c char, this correctly writes the ASCII @c NUL character
+   *  string terminator.
   */
   template<typename _CharT, typename _Traits>
-    inline basic_ostream<_CharT, _Traits>& 
+    inline basic_ostream<_CharT, _Traits>&
     ends(basic_ostream<_CharT, _Traits>& __os)
     { return __os.put(_CharT()); }
-  
+
   /**
    *  @brief  Flushes the output stream.
    *
    *  This manipulator simply calls the stream's @c flush() member function.
   */
   template<typename _CharT, typename _Traits>
-    inline basic_ostream<_CharT, _Traits>& 
+    inline basic_ostream<_CharT, _Traits>&
     flush(basic_ostream<_CharT, _Traits>& __os)
     { return __os.flush(); }
 
 #ifdef __GXX_EXPERIMENTAL_CXX0X__
-  // [27.7.2.9] Rvalue stream insertion
   /**
    *  @brief  Generic inserter for rvalue stream
    *  @param  __os  An input stream.
@@ -583,7 +602,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
 #endif // __GXX_EXPERIMENTAL_CXX0X__
 
 _GLIBCXX_END_NAMESPACE_VERSION
-} // namespace
+} // namespace std
 
 #include <bits/ostream.tcc>
 
diff --git a/libstdc++-v3/include/tr2/dynamic_bitset b/libstdc++-v3/include/tr2/dynamic_bitset
index b5c3bf3..4c06b84 100644
--- a/libstdc++-v3/include/tr2/dynamic_bitset
+++ b/libstdc++-v3/include/tr2/dynamic_bitset
@@ -738,10 +738,10 @@  public:
 
       /**
        *  @brief  Use a subset of a string.
-       *  @param  str  A string of '0' and '1' characters.
-       *  @param  pos  Index of the first character in @a s to use.
-       *  @param  n    The number of characters to copy.
-       *  @throw  std::out_of_range  If @a pos is bigger the size of @a s.
+       *  @param  __str  A string of '0' and '1' characters.
+       *  @param  __pos  Index of the first character in @p __str to use.
+       *  @param  __n    The number of characters to copy.
+       *  @throw  std::out_of_range  If @p __pos is bigger the size of @p __str.
        *  @throw  std::invalid_argument  If a character appears in the string
        *                                 which is neither '0' nor '1'.
        */
@@ -770,7 +770,7 @@  public:
 
       /**
        *  @brief  Construct from a string.
-       *  @param  str  A string of '0' and '1' characters.
+       *  @param  __str  A string of '0' and '1' characters.
        *  @throw  std::invalid_argument  If a character appears in the string
        *                                 which is neither '0' nor '1'.
        */
@@ -907,7 +907,7 @@  public:
       //@{
       /**
        *  @brief  Operations on dynamic_bitsets.
-       *  @param  rhs  A same-sized dynamic_bitset.
+       *  @param  __rhs  A same-sized dynamic_bitset.
        *
        *  These should be self-explanatory.
        */
@@ -950,7 +950,7 @@  public:
       //@{
       /**
        *  @brief  Operations on dynamic_bitsets.
-       *  @param  position  The number of places to shift.
+       *  @param  __pos The number of places to shift.
        *
        *  These should be self-explanatory.
        */
@@ -995,9 +995,9 @@  public:
 
       /**
        *  @brief Sets a given bit to a particular value.
-       *  @param  position  The index of the bit.
-       *  @param  val  Either true or false, defaults to true.
-       *  @throw  std::out_of_range  If @a pos is bigger the size of the %set.
+       *  @param  __pos  The index of the bit.
+       *  @param  __val  Either true or false, defaults to true.
+       *  @throw  std::out_of_range  If @a __pos is bigger the size of the %set.
        */
       dynamic_bitset<_WordT, _Alloc>&
       set(size_type __pos, bool __val = true)
@@ -1019,10 +1019,10 @@  public:
 
       /**
        *  @brief Sets a given bit to false.
-       *  @param  position  The index of the bit.
-       *  @throw  std::out_of_range  If @a pos is bigger the size of the %set.
+       *  @param  __pos  The index of the bit.
+       *  @throw  std::out_of_range  If @a __pos is bigger the size of the %set.
        *
-       *  Same as writing @c set(pos,false).
+       *  Same as writing @c set(__pos, false).
        */
       dynamic_bitset<_WordT, _Alloc>&
       reset(size_type __pos)
@@ -1045,8 +1045,8 @@  public:
 
       /**
        *  @brief Toggles a given bit to its opposite value.
-       *  @param  position  The index of the bit.
-       *  @throw  std::out_of_range  If @a pos is bigger the size of the %set.
+       *  @param  __pos  The index of the bit.
+       *  @throw  std::out_of_range  If @a __pos is bigger the size of the %set.
        */
       dynamic_bitset<_WordT, _Alloc>&
       flip(size_type __pos)
@@ -1064,7 +1064,7 @@  public:
       //@{
       /**
        *  @brief  Array-indexing support.
-       *  @param  position  Index into the %dynamic_bitset.
+       *  @param  __pos  Index into the %dynamic_bitset.
        *  @return A bool for a 'const %dynamic_bitset'.  For non-const
        *           bitsets, an instance of the reference proxy class.
        *  @note These operators do no range checking and throw no
@@ -1167,9 +1167,9 @@  public:
 
       /**
        *  @brief Tests the value of a bit.
-       *  @param  position  The index of a bit.
-       *  @return  The value at @a pos.
-       *  @throw  std::out_of_range  If @a pos is bigger the size of the %set.
+       *  @param  __pos  The index of a bit.
+       *  @return  The value at @a __pos.
+       *  @throw  std::out_of_range  If @a __pos is bigger the size of the %set.
        */
       bool
       test(size_type __pos) const
@@ -1226,7 +1226,7 @@  public:
       /**
        *  @brief  Finds the index of the next "on" bit after prev.
        *  @return  The index of the next bit set, or size() if not found.
-       *  @param  prev  Where to start searching.
+       *  @param  __prev  Where to start searching.
        *  @sa  find_first
        */
       size_type
@@ -1321,8 +1321,8 @@  public:
   //@{
   /**
    *  @brief  Global bitwise operations on bitsets.
-   *  @param  x  A bitset.
-   *  @param  y  A bitset of the same size as @a x.
+   *  @param  __x  A bitset.
+   *  @param  __y  A bitset of the same size as @a __x.
    *  @return  A new bitset.
    *
    *  These should be self-explanatory.
diff --git a/libstdc++-v3/scripts/run_doxygen b/libstdc++-v3/scripts/run_doxygen
index af2d0fc..45b3f4a 100644
--- a/libstdc++-v3/scripts/run_doxygen
+++ b/libstdc++-v3/scripts/run_doxygen
@@ -325,14 +325,6 @@  for f in *__profile_*; do
     newname=`echo $f | sed 's/__profile_/__profile::/'`
     mv $f $newname
 done
-for f in *__atomic0_*; do
-    newname=`echo $f | sed 's/__atomic0_/__atomic0::/'`
-    mv $f $newname
-done
-for f in *__atomic2_*; do
-    newname=`echo $f | sed 's/__atomic2_/__atomic2::/'`
-    mv $f $newname
-done
 
 # Then, clean up other top-level namespaces.
 for f in std_tr1_*; do
@@ -373,11 +365,6 @@  for f in __cxxabiv1_*; do
 done
 
 # Then piecemeal nested classes
-for f in *__future_base_*; do
-    newname=`echo $f | sed 's/__future_base_/__future_base::/'`
-    mv $f $newname
-done
-
 
 
 # Generic removal bits, where there are things in the generated man
diff --git a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/assign_neg.cc b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/assign_neg.cc
index 6349ea2..42f28db 100644
--- a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/assign_neg.cc
@@ -18,7 +18,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-do compile }
-// { dg-error "no matching" "" { target *-*-* } 1551 }
+// { dg-error "no matching" "" { target *-*-* } 1552 }
 
 #include <list>
 
diff --git a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc
index 12f28ff..d4a4464 100644
--- a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc
@@ -18,7 +18,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-do compile }
-// { dg-error "no matching" "" { target *-*-* } 1507 }
+// { dg-error "no matching" "" { target *-*-* } 1508 }
 
 #include <list>
 
diff --git a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc
index 0599334..fb32ee4 100644
--- a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc
@@ -18,7 +18,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-do compile }
-// { dg-error "no matching" "" { target *-*-* } 1507 }
+// { dg-error "no matching" "" { target *-*-* } 1508 }
 
 #include <list>
 #include <utility>
diff --git a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/insert_neg.cc b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/insert_neg.cc
index 22acf3a..d34be99 100644
--- a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/insert_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/insert_neg.cc
@@ -18,7 +18,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-do compile }
-// { dg-error "no matching" "" { target *-*-* } 1507 }
+// { dg-error "no matching" "" { target *-*-* } 1508 }
 
 #include <list>