commit cba91b68bd2eb7afb2ee8f7ba7d0047f7f0474e9
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Sat Jun 14 17:18:21 2014 +0100

    	* doc/doxygen/user.cfg.in (INPUT): Add C++14 headers.
    	* include/bits/random.h (subtract_with_carry_engine): Fix Doxygen
    	warnings.
    	* include/bits/shared_ptr.h (shared_ptr): Likewise.
    	* include/bits/unordered_map.h (unordered_map, unordered_multimap):
    	Likewise.
    	* include/bits/unordered_set.h (unordered_set, unordered_multiset):
    	Likewise.
    	* include/parallel/list_partition.h (__parallel::list_partition):
    	Likewise.
    	* include/std/iomanip (quoted): Likewise.
    	* include/tr2/dynamic_bitset (dynamic_bitset): Likewise.

diff --git a/libstdc++-v3/doc/doxygen/user.cfg.in b/libstdc++-v3/doc/doxygen/user.cfg.in
index 26395d6..7ec91a1 100644
--- a/libstdc++-v3/doc/doxygen/user.cfg.in
+++ b/libstdc++-v3/doc/doxygen/user.cfg.in
@@ -783,6 +783,7 @@ INPUT                  = @srcdir@/doc/doxygen/doxygroups.cc \
                          include/regex \
                          include/scoped_allocator \
                          include/set \
+                         include/shared_mutex \
                          include/sstream \
                          include/stack \
                          include/stdexcept \
@@ -885,6 +886,9 @@ INPUT                  = @srcdir@/doc/doxygen/doxygroups.cc \
                          include/tr2/ratio \
                          include/tr2/type_traits \
                          include/decimal/decimal \
+                         include/experimental/any \
+                         include/experimental/optional \
+                         include/experimental/string_view \
                          include/ext \
                          include/ext/pb_ds \
                          include/ext/pb_ds/detail \
diff --git a/libstdc++-v3/include/bits/random.h b/libstdc++-v3/include/bits/random.h
index edfd797..a466a45 100644
--- a/libstdc++-v3/include/bits/random.h
+++ b/libstdc++-v3/include/bits/random.h
@@ -659,10 +659,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
    *
    * The size of the state is @f$r@f$
    * and the maximum period of the generator is @f$(m^r - m^s - 1)@f$.
-   *
-   * @var _M_x     The state of the generator.  This is a ring buffer.
-   * @var _M_carry The carry.
-   * @var _M_p     Current index of x(i - r).
    */
   template<typename _UIntType, size_t __w, size_t __s, size_t __r>
     class subtract_with_carry_engine
@@ -794,9 +790,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       template<typename _UIntType1, size_t __w1, size_t __s1, size_t __r1,
 	       typename _CharT, typename _Traits>
 	friend std::basic_ostream<_CharT, _Traits>&
-	operator<<(std::basic_ostream<_CharT, _Traits>&,
+	operator<<(std::basic_ostream<_CharT, _Traits>& __os,
 		   const std::subtract_with_carry_engine<_UIntType1, __w1,
-		   __s1, __r1>&);
+		   __s1, __r1>& __x);
 
       /**
        * @brief Extracts the current state of a % subtract_with_carry_engine
@@ -813,14 +809,15 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       template<typename _UIntType1, size_t __w1, size_t __s1, size_t __r1,
 	       typename _CharT, typename _Traits>
 	friend std::basic_istream<_CharT, _Traits>&
-	operator>>(std::basic_istream<_CharT, _Traits>&,
+	operator>>(std::basic_istream<_CharT, _Traits>& __is,
 		   std::subtract_with_carry_engine<_UIntType1, __w1,
-		   __s1, __r1>&);
+		   __s1, __r1>& __x);
 
     private:
+      /// The state of the generator.  This is a ring buffer.
       _UIntType  _M_x[long_lag];
-      _UIntType  _M_carry;
-      size_t     _M_p;
+      _UIntType  _M_carry;		///< The carry
+      size_t     _M_p;			///< Current index of x(i - r).
     };
 
   /**
diff --git a/libstdc++-v3/include/bits/shared_ptr.h b/libstdc++-v3/include/bits/shared_ptr.h
index 290a0c9..f611e53 100644
--- a/libstdc++-v3/include/bits/shared_ptr.h
+++ b/libstdc++-v3/include/bits/shared_ptr.h
@@ -259,7 +259,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
       /**
        *  @brief  Construct an empty %shared_ptr.
-       *  @param  __p  A null pointer constant.
        *  @post   use_count() == 0 && get() == nullptr
        */
       constexpr shared_ptr(nullptr_t) noexcept : shared_ptr() { }
diff --git a/libstdc++-v3/include/bits/unordered_map.h b/libstdc++-v3/include/bits/unordered_map.h
index e93663c..914d26a 100644
--- a/libstdc++-v3/include/bits/unordered_map.h
+++ b/libstdc++-v3/include/bits/unordered_map.h
@@ -157,12 +157,12 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  distance(__first,__last)).
        */
       template<typename _InputIterator>
-	unordered_map(_InputIterator __f, _InputIterator __l,
+	unordered_map(_InputIterator __first, _InputIterator __last,
 		      size_type __n = 0,
 		      const hasher& __hf = hasher(),
 		      const key_equal& __eql = key_equal(),
 		      const allocator_type& __a = allocator_type())
-	: _M_h(__f, __l, __n, __hf, __eql, __a)
+	: _M_h(__first, __last, __n, __hf, __eql, __a)
 	{ }
 
       /// Copy constructor.
@@ -479,8 +479,8 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
 
       // LWG 2059.
       iterator
-      erase(iterator __it)
-      { return _M_h.erase(__it); }
+      erase(iterator __position)
+      { return _M_h.erase(__position); }
       //@}
 
       /**
@@ -857,24 +857,24 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
 
       /**
        *  @brief  Builds an %unordered_multimap from a range.
-       *  @param  __first  An input iterator.
+       *  @param  __first An input iterator.
        *  @param  __last  An input iterator.
-       *  @param __n  Minimal initial number of buckets.
-       *  @param __hf  A hash functor.
-       *  @param __eql  A key equality functor.
-       *  @param __a  An allocator object.
+       *  @param __n      Minimal initial number of buckets.
+       *  @param __hf     A hash functor.
+       *  @param __eql    A key equality functor.
+       *  @param __a      An allocator object.
        *
        *  Create an %unordered_multimap consisting of copies of the elements
        *  from [__first,__last).  This is linear in N (where N is
        *  distance(__first,__last)).
        */
       template<typename _InputIterator>
-	unordered_multimap(_InputIterator __f, _InputIterator __l,
+	unordered_multimap(_InputIterator __first, _InputIterator __last,
 			   size_type __n = 0,
 			   const hasher& __hf = hasher(),
 			   const key_equal& __eql = key_equal(),
 			   const allocator_type& __a = allocator_type())
-	: _M_h(__f, __l, __n, __hf, __eql, __a)
+	: _M_h(__first, __last, __n, __hf, __eql, __a)
 	{ }
 
       /// Copy constructor.
@@ -1174,8 +1174,8 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
 
       // LWG 2059.
       iterator
-      erase(iterator __it)
-      { return _M_h.erase(__it); }
+      erase(iterator __position)
+      { return _M_h.erase(__position); }
       //@}
 
       /**
diff --git a/libstdc++-v3/include/bits/unordered_set.h b/libstdc++-v3/include/bits/unordered_set.h
index e810f97..e37bcda 100644
--- a/libstdc++-v3/include/bits/unordered_set.h
+++ b/libstdc++-v3/include/bits/unordered_set.h
@@ -150,12 +150,12 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  distance(__first,__last)).
        */
       template<typename _InputIterator>
-	unordered_set(_InputIterator __f, _InputIterator __l,
+	unordered_set(_InputIterator __first, _InputIterator __last,
 		      size_type __n = 0,
 		      const hasher& __hf = hasher(),
 		      const key_equal& __eql = key_equal(),
 		      const allocator_type& __a = allocator_type())
-	: _M_h(__f, __l, __n, __hf, __eql, __a)
+	: _M_h(__first, __last, __n, __hf, __eql, __a)
 	{ }
 
       /// Copy constructor.
@@ -452,8 +452,8 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
 
       // LWG 2059.
       iterator
-      erase(iterator __it)
-      { return _M_h.erase(__it); }
+      erase(iterator __position)
+      { return _M_h.erase(__position); }
       //@}
 
       /**
@@ -774,23 +774,23 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
       /**
        *  @brief  Builds an %unordered_multiset from a range.
        *  @param  __first  An input iterator.
-       *  @param  __last  An input iterator.
-       *  @param __n  Minimal initial number of buckets.
-       *  @param __hf  A hash functor.
-       *  @param __eql  A key equality functor.
-       *  @param __a  An allocator object.
+       *  @param  __last   An input iterator.
+       *  @param __n       Minimal initial number of buckets.
+       *  @param __hf      A hash functor.
+       *  @param __eql     A key equality functor.
+       *  @param __a       An allocator object.
        *
        *  Create an %unordered_multiset consisting of copies of the elements
        *  from [__first,__last).  This is linear in N (where N is
        *  distance(__first,__last)).
        */
       template<typename _InputIterator>
-	unordered_multiset(_InputIterator __f, _InputIterator __l,
+	unordered_multiset(_InputIterator __first, _InputIterator __last,
 			   size_type __n = 0,
 			   const hasher& __hf = hasher(),
 			   const key_equal& __eql = key_equal(),
 			   const allocator_type& __a = allocator_type())
-	: _M_h(__f, __l, __n, __hf, __eql, __a)
+	: _M_h(__first, __last, __n, __hf, __eql, __a)
 	{ }
 
       /// Copy constructor.
@@ -1066,8 +1066,8 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
 
       // LWG 2059.
       iterator
-      erase(iterator __it)
-      { return _M_h.erase(__it); }
+      erase(iterator __position)
+      { return _M_h.erase(__position); }
       //@}
 
 
diff --git a/libstdc++-v3/include/parallel/list_partition.h b/libstdc++-v3/include/parallel/list_partition.h
index c9452a4..a8d6143 100644
--- a/libstdc++-v3/include/parallel/list_partition.h
+++ b/libstdc++-v3/include/parallel/list_partition.h
@@ -90,10 +90,10 @@ namespace __gnu_parallel
    *  @param __f Functor to be applied to each element by traversing __it
    *  @param __oversampling Oversampling factor. If 0, then the
    *  partitions will differ in at most 
-   *  \sqrt{\mathrm{__end} - \mathrm{__begin}} 
-   *  __elements. Otherwise, the ratio between the
+   *  \f$\sqrt{\mathrm{end} - \mathrm{begin}}\f$ 
+   *  elements. Otherwise, the ratio between the
    *  longest and the shortest part is bounded by
-   *  1/(\mathrm{__oversampling} \cdot \mathrm{num\_parts})
+   *  \f$1/(\mathrm{oversampling} \cdot \mathrm{num\_parts})\f$
    *  @return Length of the whole sequence.
    */
   template<typename _IIter, typename _FunctorType>
diff --git a/libstdc++-v3/include/std/iomanip b/libstdc++-v3/include/std/iomanip
index cc6f60c..2adfeda 100644
--- a/libstdc++-v3/include/std/iomanip
+++ b/libstdc++-v3/include/std/iomanip
@@ -462,7 +462,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
   /**
    * @brief Manipulator for quoted strings.
-   * @param __str    String to quote.
+   * @param __string String to quote.
    * @param __delim  Character to quote string with.
    * @param __escape Escape character to escape itself or quote character.
    */
diff --git a/libstdc++-v3/include/tr2/dynamic_bitset b/libstdc++-v3/include/tr2/dynamic_bitset
index cf1ed0f..dba145b 100644
--- a/libstdc++-v3/include/tr2/dynamic_bitset
+++ b/libstdc++-v3/include/tr2/dynamic_bitset
@@ -650,6 +650,7 @@ public:
       /**
        *  @brief  Construct from a string.
        *  @param  __str  A string of '0' and '1' characters.
+       *  @param  __alloc An allocator.
        *  @throw  std::invalid_argument  If a character appears in the string
        *                                 which is neither '0' nor '1'.
        */
