commit 450e81f751bc2d8bac4cf9965fcda4b933eb3a61
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Sat Jun 14 21:26:32 2014 +0100

    	* include/experimental/any (any_cast): Combine duplicate doxygen
    	comments.
    	* include/experimental/string_view (basic_string_view): Update
    	doxygen comment.
    	* include/std/bitset (bitset): Move to Doxygen 'utilities' group.
    	* include/tr2/dynamic_bitset (_Bool2UChar): Remove unused templates.
    	(dynamic_bitset): Improve Doxygen comments.
    	* include/tr2/dynamic_bitset.tcc (operator>>): Improve Doxygen
    	comment.

diff --git a/libstdc++-v3/include/experimental/any b/libstdc++-v3/include/experimental/any
index 2839af1..1e8d9b2 100644
--- a/libstdc++-v3/include/experimental/any
+++ b/libstdc++-v3/include/experimental/any
@@ -81,11 +81,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
   }
 
   /**
-    * @brief A type-safe container of any type.
-    *
-    * An @c any object's state is either empty or it stores a contained object
-    * of CopyConstructible type.
-    */
+   *  @brief A type-safe container of any type.
+   * 
+   *  An @c any object's state is either empty or it stores a contained object
+   *  of CopyConstructible type.
+   */
   class any
   {
     // Holds either pointer to a heap object or the contained object itself.
@@ -391,6 +391,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
    * @throw   bad_any_cast If <code>
    *          __any.type() != typeid(remove_reference_t<_ValueType>)
    *          </code>
+   *
+   * @{
    */
   template<typename _ValueType>
     inline _ValueType any_cast(any& __any)
@@ -403,16 +405,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       __throw_bad_any_cast();
     }
 
-  /**
-   * @brief Access the contained object.
-   *
-   * @tparam  _ValueType  A reference or CopyConstructible type.
-   * @param   __any       The object to access.
-   * @return  The contained object.
-   * @throw   bad_any_cast If <code>
-   *          __any.type() != typeid(remove_reference_t<_ValueType>)
-   *          </code>
-   */
   template<typename _ValueType>
     inline _ValueType any_cast(any&& __any)
     {
@@ -423,6 +415,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 	return *__p;
       __throw_bad_any_cast();
     }
+  // @}
 
   /**
    * @brief Access the contained object.
@@ -432,6 +425,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
    * @return  The address of the contained object if <code>
    *          __any != nullptr && __any.type() == typeid(_ValueType)
    *          </code>, otherwise a null pointer.
+   *
+   * @{
    */
   template<typename _ValueType>
     inline const _ValueType* any_cast(const any* __any) noexcept
@@ -441,15 +436,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       return nullptr;
     }
 
-  /**
-   * @brief Access the contained object.
-   *
-   * @tparam  _ValueType  The type of the contained object.
-   * @param   __any       A pointer to the object to access.
-   * @return  The address of the contained object if <code>
-   *          __any != nullptr && __any.type() == typeid(_ValueType)
-   *          </code>, otherwise a null pointer.
-   */
   template<typename _ValueType>
     inline _ValueType* any_cast(any* __any) noexcept
     {
@@ -457,6 +443,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 	return static_cast<_ValueType*>(__any_caster<_ValueType>(__any));
       return nullptr;
     }
+  // @}
 
 #ifdef __GXX_RTTI
   template<typename _Tp, typename _Alloc>
diff --git a/libstdc++-v3/include/experimental/string_view b/libstdc++-v3/include/experimental/string_view
index 49f46af..b54c9e8 100644
--- a/libstdc++-v3/include/experimental/string_view
+++ b/libstdc++-v3/include/experimental/string_view
@@ -49,11 +49,12 @@ namespace experimental
 _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
   /**
-   *  @class basic_string_view <string_view>
+   *  @class basic_string_view <experimental/string_view>
    *  @brief  A non-owning reference to a string.
    *
    *  @ingroup strings
    *  @ingroup sequences
+   *  @ingroup experimental
    *
    *  @tparam _CharT  Type of character
    *  @tparam _Traits  Traits for character type, defaults to
diff --git a/libstdc++-v3/include/std/bitset b/libstdc++-v3/include/std/bitset
index b89a283..c58da82 100644
--- a/libstdc++-v3/include/std/bitset
+++ b/libstdc++-v3/include/std/bitset
@@ -681,9 +681,10 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
 #endif
 
   /**
-   *  The %bitset class represents a @e fixed-size sequence of bits.
+   *  @class bitset <bitset>
    *
-   *  @ingroup containers
+   *  @brief The %bitset class represents a @e fixed-size sequence of bits.
+   *  @ingroup utilities
    *
    *  (Note that %bitset does @e not meet the formal requirements of a
    *  <a href="tables.html#65">container</a>.  Mainly, it lacks iterators.)
diff --git a/libstdc++-v3/include/tr2/dynamic_bitset b/libstdc++-v3/include/tr2/dynamic_bitset
index dba145b..755584f 100644
--- a/libstdc++-v3/include/tr2/dynamic_bitset
+++ b/libstdc++-v3/include/tr2/dynamic_bitset
@@ -47,28 +47,11 @@ namespace tr2
 _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
   /**
-   *  Dynamic Bitset.
+   *  @defgroup dynamic_bitset Dynamic Bitset.
+   *  @ingroup extensions
    *
-   *  See N2050,
-   *  Proposal to Add a Dynamically Sizeable Bitset to the Standard Library.
+   *  @{
    */
-namespace __detail
-{
-
-template<typename T>
-class _Bool2UChar
-{
-  typedef T type;
-};
-
-template<>
-class _Bool2UChar<bool>
-{
-public:
-  typedef unsigned char type;
-};
-
-}
 
   /**
    *  Base class, general case.
@@ -372,14 +355,8 @@ public:
   /**
    *  @brief  The %dynamic_bitset class represents a sequence of bits.
    *
-   *  @ingroup containers
-   *
-   *  (Note that %dynamic_bitset does @e not meet the formal
-   *  requirements of a <a href="tables.html#65">container</a>.
-   *  Mainly, it lacks iterators.)
-   *
-   *  The template argument, @a Nb, may be any non-negative number,
-   *  specifying the number of bits (e.g., "0", "12", "1024*1024").
+   *  See N2050,
+   *  Proposal to Add a Dynamically Sizeable Bitset to the Standard Library.
    *
    *  In the general unoptimized case, storage is allocated in
    *  word-sized blocks.  Let B be the number of bits in a word, then
@@ -409,7 +386,7 @@ public:
    *     int main()
    *     {
    *         long         a = 'a';
-   *         dynamic_bitset   b(a);
+   *         dynamic_bitset<> b(a);
    *
    *         cout << "b('a') is " << b << endl;
    *
@@ -421,10 +398,6 @@ public:
    *     }
    *  @endcode
    *
-   *  Also see:
-   *  http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt12ch33s02.html
-   *  for a description of extensions.
-   *
    *  Most of the actual code isn't contained in %dynamic_bitset<>
    *  itself, but in the base class __dynamic_bitset_base.  The base
    *  class works with whole words, not with individual bits.  This
@@ -1228,16 +1201,7 @@ public:
     }
   //@}
 
-  /**
-   *  @defgroup Global I/O operators for bitsets.
-   *  @{
-   *  @brief Global I/O operators for bitsets.
-   *
-   *  Direct I/O between streams and bitsets is supported.  Output is
-   *  straightforward.  Input will skip whitespace and only accept '0'
-   *  and '1' characters.  The %dynamic_bitset will grow as necessary
-   *  to hold the string of bits.
-   */
+  /// Stream output operator for dynamic_bitset.
   template <typename _CharT, typename _Traits,
 	    typename _WordT, typename _Alloc>
     inline std::basic_ostream<_CharT, _Traits>&
diff --git a/libstdc++-v3/include/tr2/dynamic_bitset.tcc b/libstdc++-v3/include/tr2/dynamic_bitset.tcc
index d5b55ce..25f897e 100644
--- a/libstdc++-v3/include/tr2/dynamic_bitset.tcc
+++ b/libstdc++-v3/include/tr2/dynamic_bitset.tcc
@@ -195,14 +195,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       }
 
   /**
-   *  @defgroup Global I/O operators for bitsets.
-   *  @{
-   *  @brief Global I/O operators for bitsets.
+   *  @brief Stream input operator for dynamic_bitset.
+   *  @ingroup dynamic_bitset
    *
-   *  Direct I/O between streams and bitsets is supported.  Output is
-   *  straightforward.  Input will skip whitespace and only accept '0'
-   *  and '1' characters.  The %dynamic_bitset will grow as necessary
-   *  to hold the string of bits.
+   *  Input will skip whitespace and only accept '0' and '1' characters.
+   *  The %dynamic_bitset will grow as necessary to hold the string of bits.
    */
   template<typename _CharT, typename _Traits,
 	   typename _WordT, typename _Alloc>
@@ -275,9 +272,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 	__is.setstate(__state);
       return __is;
     }
-  /**
-   *  @}
-   */
 
 _GLIBCXX_END_NAMESPACE_VERSION
 } // tr2
