Patchwork [v3] correct doxygen parse

login
register
mail settings
Submitter Benjamin Kosnik
Date Feb. 20, 2013, 2:07 a.m.
Message ID <20130219180757.25dd6d9e@oakwood>
Download mbox | patch
Permalink /patch/221940/
State New
Headers show

Comments

Benjamin Kosnik - Feb. 20, 2013, 2:07 a.m.
Fixups for doxygen. Since 2012-11-20, most of C++11 has been ignored by
doxygen, resulting in some missing modules documentation even in HTML
output.

Jakub, this fixes the libstdc++.tag validation errors.

I've regenerated the gcc.gnu.org docs for 4.8.0. They look equivalent or
better than 4.7.2 to me now.

tested x86/linux

-benjamin
Jonathan Wakely - Feb. 22, 2013, 10:14 p.m.
On 20 February 2013 02:07, Benjamin De Kosnik wrote:
>
> Fixups for doxygen. Since 2012-11-20, most of C++11 has been ignored by
> doxygen, resulting in some missing modules documentation even in HTML
> output.
>
> Jakub, this fixes the libstdc++.tag validation errors.
>
> I've regenerated the gcc.gnu.org docs for 4.8.0. They look equivalent or
> better than 4.7.2 to me now.

Parts of the libstdc++ manual are still severely out of date, and
misleading people e.g. the status page (which is probably the most
important part to keep up to date!) refers to monotonic_clock,
http://stackoverflow.com/a/15032749/981959

I fixed that in the status page on February 8th 2012, over a year ago,
but the page hasn't been regenerated since Jan 2012.

Patch

2013-02-19  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/doxygen/user.cfg.in: Set __cplusplus to 201103L. Change to
	_GLIBCXX_INCLUDE_AS_CXX11. DIRECTORY_GRAPH, MARKDOWN_SUPPORT,
	AUTOLINK_SUPPORT to NO. Update to doxygen 1.8.3.1.
	* include/bits/stl_pair.h: Add to utilities group.
	* include/std/tuple: Same.
	* include/std/typeindex: Same.

	* include/bits/stringfwd.h: Fix markup.
	* include/std/limits: Same.
	* include/std/type_traits: Same.
	* include/tr1/memory: Same.
	* include/tr1/regex: Same.
	* scripts/run_doxygen: Comment.
	* testsuite/20_util/uses_allocator/cons_neg.cc: Fixup line numbers.

diff --git a/libstdc++-v3/doc/doxygen/user.cfg.in b/libstdc++-v3/doc/doxygen/user.cfg.in
index 5af636b..4a3afc4 100644
--- a/libstdc++-v3/doc/doxygen/user.cfg.in
+++ b/libstdc++-v3/doc/doxygen/user.cfg.in
@@ -1,4 +1,4 @@ 
-# Doxyfile 1.8.2
+# Doxyfile 1.8.3.1
 
 # This file describes the settings to be used by the documentation system
 # doxygen (www.doxygen.org) for a project.
@@ -252,14 +252,15 @@  EXTENSION_MAPPING      =
 # can mix doxygen, HTML, and XML commands with Markdown formatting.
 # Disable only in case of backward compatibilities issues.
 
-MARKDOWN_SUPPORT       = YES
+MARKDOWN_SUPPORT       = NO
 
-# When enabled doxygen tries to link words that correspond to documented classes,
-# or namespaces to their corresponding documentation. Such a link can be
-# prevented in individual cases by by putting a % sign in front of the word or
-# globally by setting AUTOLINK_SUPPORT to NO.
+# When enabled doxygen tries to link words that correspond to
+# documented classes, or namespaces to their corresponding
+# documentation. Such a link can be prevented in individual cases by
+# by putting a % sign in front of the word or globally by setting
+# AUTOLINK_SUPPORT to NO.
 
-AUTOLINK_SUPPORT       = YES
+AUTOLINK_SUPPORT       = NO
 
 # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
 # to include (a tag file for) the STL sources as input, then you should
@@ -281,7 +282,12 @@  CPP_CLI_SUPPORT        = NO
 
 SIP_SUPPORT            = NO
 
-# For Microsoft's IDL there are propget and propput attributes to indicate getter and setter methods for a property. Setting this option to YES (the default) will make doxygen replace the get and set methods by a property in the documentation. This will only work if the methods are indeed getting or setting a simple type. If this is not the case, or you want to show the methods anyway, you should set this option to NO.
+# For Microsoft's IDL there are propget and propput attributes to indicate
+# getter and setter methods for a property. Setting this option to YES (the
+# default) will make doxygen replace the get and set methods by a property in
+# the documentation. This will only work if the methods are indeed getting or
+# setting a simple type. If this is not the case, or you want to show the
+# methods anyway, you should set this option to NO.
 
 IDL_PROPERTY_SUPPORT   = NO
 
@@ -305,8 +311,7 @@  SUBGROUPING            = YES
 # @ingroup) instead of on a separate page (for HTML and Man pages) or
 # section (for LaTeX and RTF).
 
-#INLINE_GROUPED_CLASSES = NO
-INLINE_GROUPED_CLASSES = YES
+INLINE_GROUPED_CLASSES = NO
 
 # When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and
 # unions with only public data fields will be shown inline in the documentation
@@ -314,7 +319,7 @@  INLINE_GROUPED_CLASSES = YES
 # documentation), provided this scope is documented. If set to NO (the default),
 # structs, classes, and unions are shown on a separate page (for HTML and Man
 # pages) or section (for LaTeX and RTF).
- 
+
 INLINE_SIMPLE_STRUCTS  = NO
 
 # When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
@@ -542,7 +547,8 @@  GENERATE_BUGLIST       = YES
 GENERATE_DEPRECATEDLIST= YES
 
 # The ENABLED_SECTIONS tag can be used to enable conditional
-# documentation sections, marked by \if sectionname ... \endif.
+# documentation sections, marked by \if section-label ... \endif
+# and \cond section-label ... \endcond blocks.
 
 ENABLED_SECTIONS       = @enabled_sections@
 
@@ -600,7 +606,8 @@  LAYOUT_FILE            =
 # requires the bibtex tool to be installed. See also
 # http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style
 # of the bibliography can be controlled using LATEX_BIB_STYLE. To use this
-# feature you need bibtex and perl available in the search path.
+# feature you need bibtex and perl available in the search path. Do not use
+# file names with spaces, bibtex cannot handle them.
 
 CITE_BIB_FILES         =
 
@@ -952,6 +959,13 @@  FILTER_SOURCE_FILES    = NO
 
 FILTER_SOURCE_PATTERNS =
 
+# If the USE_MD_FILE_AS_MAINPAGE tag refers to the name of a markdown file that
+# is part of the input, its contents will be placed on the main page (index.html).
+# This can be useful if you have a project on for instance GitHub and want reuse
+# the introduction page also for the doxygen output.
+
+USE_MDFILE_AS_MAINPAGE =
+
 #---------------------------------------------------------------------------
 # configuration options related to source browsing
 #---------------------------------------------------------------------------
@@ -1134,7 +1148,7 @@  HTML_TIMESTAMP         = NO
 # documentation will contain sections that can be hidden and shown after the
 # page has loaded.
 
-HTML_DYNAMIC_SECTIONS  = YES
+HTML_DYNAMIC_SECTIONS  = NO
 
 # With HTML_INDEX_NUM_ENTRIES one can control the preferred number of
 # entries shown in the various tree structured indices initially; the user
@@ -1145,7 +1159,7 @@  HTML_DYNAMIC_SECTIONS  = YES
 # default. 0 is a special value representing an infinite number of entries
 # and will result in a full expanded tree by default.
 
-HTML_INDEX_NUM_ENTRIES = 100
+HTML_INDEX_NUM_ENTRIES = 0
 
 # If the GENERATE_DOCSET tag is set to YES, additional index files
 # will be generated that can be used as input for Apple's Xcode 3
@@ -1361,6 +1375,13 @@  FORMULA_TRANSPARENT    = YES
 
 USE_MATHJAX            = NO
 
+# When MathJax is enabled you can set the default output format to be used for
+# thA MathJax output. Supported types are HTML-CSS, NativeMML (i.e. MathML) and
+# SVG. The default value is HTML-CSS, which is slower, but has the best
+# compatibility.
+
+MATHJAX_FORMAT         = HTML-CSS
+
 # When MathJax is enabled you need to specify the location relative to the
 # HTML output directory using the MATHJAX_RELPATH option. The destination
 # directory should contain the MathJax.js script. For instance, if the mathjax
@@ -1389,15 +1410,55 @@  MATHJAX_EXTENSIONS     =
 SEARCHENGINE           = NO
 
 # When the SERVER_BASED_SEARCH tag is enabled the search engine will be
-# implemented using a PHP enabled web server instead of at the web client
-# using Javascript. Doxygen will generate the search PHP script and index
-# file to put on the web server. The advantage of the server
-# based approach is that it scales better to large projects and allows
-# full text search. The disadvantages are that it is more difficult to setup
-# and does not have live searching capabilities.
+# implemented using a web server instead of a web client using Javascript.
+# There are two flavours of web server based search depending on the
+# EXTERNAL_SEARCH setting. When disabled, doxygen will generate a PHP script for
+# searching and an index file used by the script. When EXTERNAL_SEARCH is
+# enabled the indexing and searching needs to be provided by external tools.
+# See the manual for details.
 
 SERVER_BASED_SEARCH    = NO
 
+# When EXTERNAL_SEARCH is enabled doxygen will no longer generate the PHP
+# script for searching. Instead the search results are written to an XML file
+# which needs to be processed by an external indexer. Doxygen will invoke an
+# external search engine pointed to by the SEARCHENGINE_URL option to obtain
+# the search results. Doxygen ships with an example indexer (doxyindexer) and
+# search engine (doxysearch.cgi) which are based on the open source search engine
+# library Xapian. See the manual for configuration details.
+
+EXTERNAL_SEARCH        = NO
+
+# The SEARCHENGINE_URL should point to a search engine hosted by a web server
+# which will returned the search results when EXTERNAL_SEARCH is enabled.
+# Doxygen ships with an example search engine (doxysearch) which is based on
+# the open source search engine library Xapian. See the manual for configuration
+# details.
+
+SEARCHENGINE_URL       =
+
+# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed
+# search data is written to a file for indexing by an external tool. With the
+# SEARCHDATA_FILE tag the name of this file can be specified.
+
+SEARCHDATA_FILE        = searchdata.xml
+
+# When SERVER_BASED_SEARCH AND EXTERNAL_SEARCH are both enabled the
+# EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is
+# useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple
+# projects and redirect the results back to the right project.
+
+EXTERNAL_SEARCH_ID     =
+
+# The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen
+# projects other than the one defined by this configuration file, but that are
+# all added to the same external search index. Each project needs to have a
+# unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id
+# of to a relative location where the documentation can be found.
+# The format is: EXTRA_SEARCH_MAPPINGS = id1=loc1 id2=loc2 ...
+
+EXTRA_SEARCH_MAPPINGS  =
+
 #---------------------------------------------------------------------------
 # configuration options related to the LaTeX output
 #---------------------------------------------------------------------------
@@ -1431,7 +1492,7 @@  MAKEINDEX_CMD_NAME     = makeindex
 # LaTeX documents. This may be useful for small projects and may help to
 # save some trees in general.
 
-COMPACT_LATEX          =  YES
+COMPACT_LATEX          = YES
 
 # The PAPER_TYPE tag can be used to set the paper type that is used
 # by the printer. Possible values are: a4, letter, legal and
@@ -1698,10 +1759,10 @@  INCLUDE_FILE_PATTERNS  =
 # undefined via #undef or recursively expanded use the := operator
 # instead of the = operator.
 
-PREDEFINED             = __cplusplus \
+PREDEFINED             = __cplusplus=201103L \
                          __GTHREADS \
                          _GLIBCXX_HAS_GTHREADS \
-                         _GLIBCXX_INCLUDE_AS_CXX0X \
+                         _GLIBCXX_INCLUDE_AS_CXX11 \
                          "_GLIBCXX_PURE= " \
                          "_GLIBCXX_CONST= " \
                          "_GLIBCXX_NORETURN= " \
@@ -1938,7 +1999,7 @@  GRAPHICAL_HIERARCHY    = YES
 # in a graphical way. The dependency relations are determined by the #include
 # relations between the files in the directories.
 
-DIRECTORY_GRAPH        = YES
+DIRECTORY_GRAPH        = NO
 
 # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
 # generated by dot. Possible values are svg, png, jpg, or gif.
diff --git a/libstdc++-v3/include/bits/stl_pair.h b/libstdc++-v3/include/bits/stl_pair.h
index 967951c..9225016 100644
--- a/libstdc++-v3/include/bits/stl_pair.h
+++ b/libstdc++-v3/include/bits/stl_pair.h
@@ -66,6 +66,11 @@  namespace std _GLIBCXX_VISIBILITY(default)
 {
 _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
+  /**
+   *  @addtogroup utilities
+   *  @{
+   */
+
 #if __cplusplus >= 201103L
   /// piecewise_construct_t
   struct piecewise_construct_t { };
@@ -282,7 +287,9 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
     { return pair<_T1, _T2>(__x, __y); }
 #endif
 
+  /// @}
+
 _GLIBCXX_END_NAMESPACE_VERSION
-} // namespace
+} // namespace std
 
 #endif /* _STL_PAIR_H */
diff --git a/libstdc++-v3/include/bits/stringfwd.h b/libstdc++-v3/include/bits/stringfwd.h
index e204b08..5d5b83f 100644
--- a/libstdc++-v3/include/bits/stringfwd.h
+++ b/libstdc++-v3/include/bits/stringfwd.h
@@ -60,12 +60,14 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
   template<> struct char_traits<char>;
 
-  typedef basic_string<char>    string;   /// A string of @c char
+  /// A string of @c char
+  typedef basic_string<char>    string;   
 
 #ifdef _GLIBCXX_USE_WCHAR_T
   template<> struct char_traits<wchar_t>;
 
-  typedef basic_string<wchar_t> wstring;   /// A string of @c wchar_t
+  /// A string of @c wchar_t
+  typedef basic_string<wchar_t> wstring;   
 #endif
 
 #if ((__cplusplus >= 201103L) \
@@ -74,13 +76,16 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
   template<> struct char_traits<char16_t>;
   template<> struct char_traits<char32_t>;
 
-  typedef basic_string<char16_t> u16string; /// A string of @c char16_t
-  typedef basic_string<char32_t> u32string; /// A string of @c char32_t
+  /// A string of @c char16_t
+  typedef basic_string<char16_t> u16string; 
+
+  /// A string of @c char32_t
+  typedef basic_string<char32_t> u32string; 
 
 #endif
   /** @}  */
 
 _GLIBCXX_END_NAMESPACE_VERSION
-} // namespace
+} // namespace std
 
 #endif	// _STRINGFWD_H
diff --git a/libstdc++-v3/include/std/limits b/libstdc++-v3/include/std/limits
index 13ad660..a137d0b 100644
--- a/libstdc++-v3/include/std/limits
+++ b/libstdc++-v3/include/std/limits
@@ -211,14 +211,12 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
     /** True if the type is signed.  */
     static _GLIBCXX_USE_CONSTEXPR bool is_signed = false;
 
-    /** True if the type is integer.
-     *  Is this supposed to be <em>if the type is integral?</em>  */
+    /** True if the type is integer.  */
     static _GLIBCXX_USE_CONSTEXPR bool is_integer = false;
 
-    /** True if the type uses an exact representation. <em>All integer types are
+    /** True if the type uses an exact representation. All integer types are
 	exact, but not all exact types are integer.  For example, rational and
-	fixed-exponent representations are exact but not integer.</em>
-	[18.2.1.2]/15  */
+	fixed-exponent representations are exact but not integer. */
     static _GLIBCXX_USE_CONSTEXPR bool is_exact = false;
 
     /** For integer types, specifies the base of the representation.  For
@@ -246,27 +244,27 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
     static _GLIBCXX_USE_CONSTEXPR bool has_infinity = false;
 
     /** True if the type has a representation for a quiet (non-signaling)
-	<em>Not a Number</em>.  */
+	Not a Number.  */
     static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = false;
 
     /** True if the type has a representation for a signaling
-	<em>Not a Number</em>.  */
+	Not a Number.  */
     static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = false;
 
     /** See std::float_denorm_style for more information.  */
     static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm = denorm_absent;
 
-    /** <em>True if loss of accuracy is detected as a denormalization loss,
-	rather than as an inexact result.</em> [18.2.1.2]/42  */
+    /** True if loss of accuracy is detected as a denormalization loss,
+	rather than as an inexact result. */
     static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false;
 
     /** True if-and-only-if the type adheres to the IEC 559 standard, also
 	known as IEEE 754.  (Only makes sense for floating point types.)  */
     static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false;
 
-    /** <em>True if the set of values representable by the type is
+    /** True if the set of values representable by the type is
 	finite.  All built-in types are bounded, this member would be
-	false for arbitrary precision types.</em> [18.2.1.2]/54  */
+	false for arbitrary precision types. */
     static _GLIBCXX_USE_CONSTEXPR bool is_bounded = false;
 
     /** True if the type is @e modulo. A type is modulo if, for any
@@ -334,12 +332,12 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
       static _GLIBCXX_CONSTEXPR _Tp
       infinity() _GLIBCXX_USE_NOEXCEPT { return _Tp(); }
 
-      /** The representation of a quiet <em>Not a Number</em>,
+      /** The representation of a quiet Not a Number,
 	  if @c has_quiet_NaN. */
       static _GLIBCXX_CONSTEXPR _Tp
       quiet_NaN() _GLIBCXX_USE_NOEXCEPT { return _Tp(); }
 
-      /** The representation of a signaling <em>Not a Number</em>, if
+      /** The representation of a signaling Not a Number, if
 	  @c has_signaling_NaN. */
       static _GLIBCXX_CONSTEXPR _Tp
       signaling_NaN() _GLIBCXX_USE_NOEXCEPT { return _Tp(); }
diff --git a/libstdc++-v3/include/std/tuple b/libstdc++-v3/include/std/tuple
index 80b136a..ee2b2e1 100644
--- a/libstdc++-v3/include/std/tuple
+++ b/libstdc++-v3/include/std/tuple
@@ -43,6 +43,11 @@  namespace std _GLIBCXX_VISIBILITY(default)
 {
 _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
+  /**
+   *  @addtogroup utilities
+   *  @{
+   */
+
   // Adds a const reference to a non-reference type.
   template<typename _Tp>
     struct __add_c_ref
@@ -1018,6 +1023,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
 	}
     };
 
+  /// tuple_cat
   template<typename... _Tpls, typename = typename
            enable_if<__and_<__is_tuple_like<_Tpls>...>::value>::type>
     constexpr auto
@@ -1030,11 +1036,13 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
       return __concater::_S_do(std::forward<_Tpls>(__tpls)...);
     }
 
+  /// tie
   template<typename... _Elements>
     inline tuple<_Elements&...>
     tie(_Elements&... __args) noexcept
     { return tuple<_Elements&...>(__args...); }
 
+  /// swap
   template<typename... _Elements>
     inline void 
     swap(tuple<_Elements...>& __x, tuple<_Elements...>& __y)
@@ -1080,8 +1088,10 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
         second(std::forward<_Args2>(std::get<_Indexes2>(__tuple2))...)
       { }
 
+  /// @}
+
 _GLIBCXX_END_NAMESPACE_VERSION
-} // namespace
+} // namespace std
 
 #endif // C++11
 
diff --git a/libstdc++-v3/include/std/type_traits b/libstdc++-v3/include/std/type_traits
index cfc4539..62d5912 100644
--- a/libstdc++-v3/include/std/type_traits
+++ b/libstdc++-v3/include/std/type_traits
@@ -1,4 +1,4 @@ 
-// C++11 type_traits -*- C++ -*-
+// C++11 <type_traits> -*- C++ -*-
 
 // Copyright (C) 2007-2013 Free Software Foundation, Inc.
 //
@@ -42,7 +42,7 @@  namespace std _GLIBCXX_VISIBILITY(default)
 _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
   /**
-   * @defgroup metaprogramming Metaprogramming and type traits
+   * @defgroup metaprogramming Metaprogramming
    * @ingroup utilities
    *
    * Template utilities for compile-time introspection and modification,
@@ -62,15 +62,15 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
       constexpr operator value_type() { return value; }
     };
   
+  template<typename _Tp, _Tp __v>
+    constexpr _Tp integral_constant<_Tp, __v>::value;
+
   /// The type used as a compile-time boolean with true value.
   typedef integral_constant<bool, true>     true_type;
 
   /// The type used as a compile-time boolean with false value.
   typedef integral_constant<bool, false>    false_type;
 
-  template<typename _Tp, _Tp __v>
-    constexpr _Tp integral_constant<_Tp, __v>::value;
-
   // Meta programming helper types.
 
   template<bool, typename, typename>
@@ -145,7 +145,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
   struct __failure_type
   { };
 
-  // primary type categories.
+  // Primary type categories.
 
   template<typename>
     struct remove_cv;
@@ -426,7 +426,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
 				      remove_cv<_Tp>::type>::value)>
     { };
 
-  // composite type categories.
+  // Composite type categories.
 
   /// is_reference
   template<typename _Tp>
@@ -484,7 +484,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
 				      typename remove_cv<_Tp>::type>::value)>
     { };
 
-  // type properties.
+  // Type properties.
 
   /// is_const
   template<typename>
@@ -577,7 +577,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
     { };
 
 
-  // destructible and constructible type properties
+  // Destructible and constructible type properties.
 
   template<typename>
     struct add_rvalue_reference;
@@ -1271,7 +1271,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
     { };
 
 
-  // type relations.
+  // Type relations.
 
   /// is_same
   template<typename, typename>
@@ -1320,7 +1320,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
     { };
 
 
-  // const-volatile modifications.
+  // Const-volatile modifications.
 
   /// remove_const
   template<typename _Tp>
@@ -1420,7 +1420,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
     { };
 
 
-  // sign modifications.
+  // Sign modifications.
 
   // Utility for constructing identically cv-qualified types.
   template<typename _Unqualified, bool _IsConst, bool _IsVol>
@@ -1617,7 +1617,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
     struct make_signed<bool>;
 
 
-  // array modifications.
+  // Array modifications.
 
   /// remove_extent
   template<typename _Tp>
@@ -1646,7 +1646,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
     { typedef typename remove_all_extents<_Tp>::type     type; };
 
 
-  // pointer modifications.
+  // Pointer modifications.
 
   template<typename _Tp, typename>
     struct __remove_pointer_helper
@@ -1789,7 +1789,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
   template<typename... _Tp>
     struct common_type;
 
-  // sfinae-friendly common_type implementation:
+  // Sfinae-friendly common_type implementation:
 
   struct __do_common_type_impl
   {
@@ -1877,7 +1877,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
   template<typename _Signature>
     class result_of;
 
-  // sfinae-friendly result_of implementation:
+  // Sfinae-friendly result_of implementation:
 
   // [func.require] paragraph 1 bullet 1:
   struct __result_of_memfun_ref_impl
@@ -2034,6 +2034,8 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
 	    _Functor, _ArgTypes...
       >::type
     { };
+
+  /// @} group metaprogramming
 	
   /**
    *  Use SFINAE to determine if the type _Tp has a publicly-accessible
@@ -2064,9 +2066,8 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
 			<typename remove_cv<_Tp>::type>::value>  \
     { };
 
-  /// @} group metaprogramming
 _GLIBCXX_END_NAMESPACE_VERSION
-} // namespace
+} // namespace std
 
 #endif  // C++11
 
diff --git a/libstdc++-v3/include/std/typeindex b/libstdc++-v3/include/std/typeindex
index 793894f..9e6db30 100644
--- a/libstdc++-v3/include/std/typeindex
+++ b/libstdc++-v3/include/std/typeindex
@@ -1,4 +1,4 @@ 
-// C++0x typeindex -*- C++ -*-
+// C++11 <typeindex> -*- C++ -*-
 
 // Copyright (C) 2010-2013 Free Software Foundation, Inc.
 //
@@ -42,9 +42,12 @@  namespace std _GLIBCXX_VISIBILITY(default)
 _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
   /**
-     @brief The class type_index provides a simple wrapper for type_info
-     which can be used as an index type in associative containers (23.6)
-     and in unordered associative containers (23.7).
+   * @brief Class type_index
+   * @ingroup utilities
+   *
+   *  The class type_index provides a simple wrapper for type_info
+   *  which can be used as an index type in associative containers
+   *  (23.6) and in unordered associative containers (23.7).
    */
   struct type_index
   {
@@ -102,7 +105,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
     };
 
 _GLIBCXX_END_NAMESPACE_VERSION
-} // namespace
+} // namespace std
 
 #endif  // C++11
 
diff --git a/libstdc++-v3/include/tr1/memory b/libstdc++-v3/include/tr1/memory
index d04f86b..7f4ce51 100644
--- a/libstdc++-v3/include/tr1/memory
+++ b/libstdc++-v3/include/tr1/memory
@@ -32,8 +32,8 @@ 
 
 #pragma GCC system_header
 
-#if defined(_GLIBCXX_INCLUDE_AS_CXX0X)
-#  error TR1 header cannot be included from C++0x header
+#if defined(_GLIBCXX_INCLUDE_AS_CXX11)
+#  error TR1 header cannot be included from C++11 header
 #endif
 
 #include <memory>
diff --git a/libstdc++-v3/include/tr1/regex b/libstdc++-v3/include/tr1/regex
index 15f56af..dfcc3a9 100644
--- a/libstdc++-v3/include/tr1/regex
+++ b/libstdc++-v3/include/tr1/regex
@@ -847,7 +847,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
 	: _M_flags(__f), _M_pattern(__first, __last), _M_mark_count(0)
         { _M_compile(); }
 
-#ifdef _GLIBCXX_INCLUDE_AS_CXX0X
+#ifdef _GLIBCXX_INCLUDE_AS_CXX11
       /**
        * @brief Constructs a basic regular expression from an initializer list.
        *
@@ -986,7 +986,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
 	       flag_type __flags = regex_constants::ECMAScript)
         { return this->assign(string_type(__first, __last), __flags); }
 
-#ifdef _GLIBCXX_INCLUDE_AS_CXX0X
+#ifdef _GLIBCXX_INCLUDE_AS_CXX11
       /**
        * @brief Assigns a new regular expression to a regex object.
        *
@@ -1966,7 +1966,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
       begin() const
       { return _Base_type::begin(); }
       
-#ifdef _GLIBCXX_INCLUDE_AS_CXX0X
+#ifdef _GLIBCXX_INCLUDE_AS_CXX11
       /**
        * @brief Gets an iterator to the start of the %sub_match collection.
        */
@@ -1982,7 +1982,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
       end() const
       { return _Base_type::end(); }
       
-#ifdef _GLIBCXX_INCLUDE_AS_CXX0X
+#ifdef _GLIBCXX_INCLUDE_AS_CXX11
       /**
        * @brief Gets an iterator to one-past-the-end of the collection.
        */
diff --git a/libstdc++-v3/scripts/run_doxygen b/libstdc++-v3/scripts/run_doxygen
index 0f65d3a..75b2f4f 100644
--- a/libstdc++-v3/scripts/run_doxygen
+++ b/libstdc++-v3/scripts/run_doxygen
@@ -205,6 +205,8 @@  if $do_html; then
   cd ${outdir}/${mode}
 
   #doxytag -t libstdc++.tag . > /dev/null 2>&1
+
+  # Strip pathnames from tag file.
   sed -e '/<path>/d' libstdc++.tag > TEMP
   mv TEMP libstdc++.tag
 
diff --git a/libstdc++-v3/testsuite/20_util/uses_allocator/cons_neg.cc b/libstdc++-v3/testsuite/20_util/uses_allocator/cons_neg.cc
index 2fbc456..e5f015f 100644
--- a/libstdc++-v3/testsuite/20_util/uses_allocator/cons_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/uses_allocator/cons_neg.cc
@@ -44,4 +44,4 @@  void test01()
 
   tuple<Type> t(allocator_arg, a, 1);
 }
-// { dg-error "no matching function" "" { target *-*-* } 113 }
+// { dg-error "no matching function" "" { target *-*-* } 118 }