https://gcc.gnu.org/g:45a3ee8a402cc51c02b7f45e8f041039390a4ef8

commit r14-9456-g45a3ee8a402cc51c02b7f45e8f041039390a4ef8
Author: Jonathan Wakely <jwak...@redhat.com>
Date:   Thu Mar 7 15:19:12 2024 +0000

    libstdc++: Improve documentation on debugging with libstdc++
    
    libstdc++-v3/ChangeLog:
    
            * doc/xml/manual/debug.xml: Improve docs on debug builds and
            using ASan. Mention _GLIBCXX_ASSERTIONS. Reorder sections to put
            the most relevant ones first.
            * doc/xml/manual/using.xml: Add comma.
            * doc/html/*: Regenerate.

Diff:
---
 libstdc++-v3/doc/html/index.html                   |  2 +-
 libstdc++-v3/doc/html/manual/debug.html            | 75 ++++++++++-------
 .../doc/html/manual/ext_compile_checks.html        | 18 +++--
 libstdc++-v3/doc/html/manual/index.html            |  2 +-
 libstdc++-v3/doc/html/manual/intro.html            |  2 +-
 libstdc++-v3/doc/html/manual/using.html            |  2 +-
 libstdc++-v3/doc/html/manual/using_macros.html     |  2 +-
 libstdc++-v3/doc/xml/manual/debug.xml              | 93 +++++++++++++---------
 libstdc++-v3/doc/xml/manual/using.xml              |  2 +-
 9 files changed, 119 insertions(+), 79 deletions(-)

diff --git a/libstdc++-v3/doc/html/index.html b/libstdc++-v3/doc/html/index.html
index 8648d8e2bea..f9288e471f4 100644
--- a/libstdc++-v3/doc/html/index.html
+++ b/libstdc++-v3/doc/html/index.html
@@ -23,7 +23,7 @@
     </p></div></div></div><hr /></div><div class="toc"><p><strong>Table of 
Contents</strong></p><dl class="toc"><dt><span class="book"><a 
href="manual/index.html">The GNU C++ Library 
Manual</a></span></dt><dd><dl><dt><span class="part"><a 
href="manual/intro.html">I. 
   Introduction
   
-</a></span></dt><dd><dl><dt><span class="chapter"><a 
href="manual/status.html">1. Status</a></span></dt><dd><dl><dt><span 
class="section"><a 
href="manual/status.html#manual.intro.status.iso">Implementation 
Status</a></span></dt><dd><dl><dt><span class="section"><a 
href="manual/status.html#status.iso.1998">C++ 
1998/2003</a></span></dt><dd><dl><dt><span class="section"><a 
href="manual/status.html#iso.1998.status">Implementation 
Status</a></span></dt><dt><span class="section"><a 
href="manual/status.html#iso.1998.specific">Implementation Specific 
Behavior</a></span></dt></dl></dd><dt><span class="section"><a 
href="manual/status.html#status.iso.2011">C++ 
2011</a></span></dt><dd><dl><dt><span class="section"><a 
href="manual/status.html#iso.2011.specific">Implementation Specific 
Behavior</a></span></dt></dl></dd><dt><span class="section"><a 
href="manual/status.html#status.iso.2014">C++ 
2014</a></span></dt><dd><dl><dt><span class="section"><a 
href="manual/status.html#iso.2014.specific">Impl
 ementation Specific Behavior</a></span></dt><dd><dl><dt><span 
class="section"><a href="manual/status.html#iso.2014.filesystemts">Filesystem 
TS</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a 
href="manual/status.html#status.iso.2017">C++ 
2017</a></span></dt><dd><dl><dt><span class="section"><a 
href="manual/status.html#iso.2017.specific">Implementation Specific 
Behavior</a></span></dt><dd><dl><dt><span class="section"><a 
href="manual/status.html#iso.2017.par2ts">Parallelism 2 
TS</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a 
href="manual/status.html#status.iso.2020">C++ 2020</a></span></dt><dt><span 
class="section"><a href="manual/status.html#status.iso.2023">C++ 
2023</a></span></dt><dt><span class="section"><a 
href="manual/status.html#status.iso.tr1">C++ 
TR1</a></span></dt><dd><dl><dt><span class="section"><a 
href="manual/status.html#iso.tr1.specific">Implementation Specific 
Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="manual/s
 tatus.html#status.iso.tr24733">C++ TR 24733</a></span></dt><dt><span 
class="section"><a href="manual/status.html#status.iso.specfun">C++ IS 
29124</a></span></dt><dd><dl><dt><span class="section"><a 
href="manual/status.html#iso.specfun.specific">Implementation Specific 
Behavior</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a 
href="manual/license.html">License</a></span></dt><dd><dl><dt><span 
class="section"><a 
href="manual/license.html#manual.intro.status.license.gpl">The Code: 
GPL</a></span></dt><dt><span class="section"><a 
href="manual/license.html#manual.intro.status.license.fdl">The Documentation: 
GPL, FDL</a></span></dt></dl></dd><dt><span class="section"><a 
href="manual/bugs.html">Bugs</a></span></dt><dd><dl><dt><span 
class="section"><a 
href="manual/bugs.html#manual.intro.status.bugs.impl">Implementation 
Bugs</a></span></dt><dt><span class="section"><a 
href="manual/bugs.html#manual.intro.status.bugs.iso">Standard 
Bugs</a></span></dt></dl></dd></dl></dd><dt><span
  class="chapter"><a href="manual/setup.html">2. 
Setup</a></span></dt><dd><dl><dt><span class="section"><a 
href="manual/setup.html#manual.intro.setup.prereq">Prerequisites</a></span></dt><dt><span
 class="section"><a 
href="manual/configure.html">Configure</a></span></dt><dt><span 
class="section"><a 
href="manual/make.html">Make</a></span></dt></dl></dd><dt><span 
class="chapter"><a href="manual/using.html">3. 
Using</a></span></dt><dd><dl><dt><span class="section"><a 
href="manual/using.html#manual.intro.using.flags">Command 
Options</a></span></dt><dt><span class="section"><a 
href="manual/using_headers.html">Headers</a></span></dt><dd><dl><dt><span 
class="section"><a 
href="manual/using_headers.html#manual.intro.using.headers.all">Header 
Files</a></span></dt><dt><span class="section"><a 
href="manual/using_headers.html#manual.intro.using.headers.mixing">Mixing 
Headers</a></span></dt><dt><span class="section"><a 
href="manual/using_headers.html#manual.intro.using.headers.cheaders">The C Heade
 rs and <code class="code">namespace std</code></a></span></dt><dt><span 
class="section"><a 
href="manual/using_headers.html#manual.intro.using.headers.pre">Precompiled 
Headers</a></span></dt></dl></dd><dt><span class="section"><a 
href="manual/using_macros.html">Macros</a></span></dt><dt><span 
class="section"><a href="manual/using_dual_abi.html">Dual 
ABI</a></span></dt><dd><dl><dt><span class="section"><a 
href="manual/using_dual_abi.html#manual.intro.using.abi.trouble">Troubleshooting</a></span></dt></dl></dd><dt><span
 class="section"><a 
href="manual/using_namespaces.html">Namespaces</a></span></dt><dd><dl><dt><span 
class="section"><a 
href="manual/using_namespaces.html#manual.intro.using.namespaces.all">Available 
Namespaces</a></span></dt><dt><span class="section"><a 
href="manual/using_namespaces.html#manual.intro.using.namespaces.std">namespace 
std</a></span></dt><dt><span class="section"><a 
href="manual/using_namespaces.html#manual.intro.using.namespaces.comp">Using 
Namespace Compos
 ition</a></span></dt></dl></dd><dt><span class="section"><a 
href="manual/using_dynamic_or_shared.html">Linking</a></span></dt><dd><dl><dt><span
 class="section"><a 
href="manual/using_dynamic_or_shared.html#manual.intro.using.linkage.freestanding">Almost
 Nothing</a></span></dt><dt><span class="section"><a 
href="manual/using_dynamic_or_shared.html#manual.intro.using.linkage.dynamic">Finding
 Dynamic or Shared Libraries</a></span></dt><dt><span class="section"><a 
href="manual/using_dynamic_or_shared.html#manual.intro.using.linkage.experimental">Experimental
 Library Extensions</a></span></dt></dl></dd><dt><span class="section"><a 
href="manual/using_concurrency.html">Concurrency</a></span></dt><dd><dl><dt><span
 class="section"><a 
href="manual/using_concurrency.html#manual.intro.using.concurrency.prereq">Prerequisites</a></span></dt><dt><span
 class="section"><a 
href="manual/using_concurrency.html#manual.intro.using.concurrency.thread_safety">Thread
 Safety</a></span></dt><dt><span class="sec
 tion"><a 
href="manual/using_concurrency.html#manual.intro.using.concurrency.atomics">Atomics</a></span></dt><dt><span
 class="section"><a 
href="manual/using_concurrency.html#manual.intro.using.concurrency.io">IO</a></span></dt><dd><dl><dt><span
 class="section"><a 
href="manual/using_concurrency.html#concurrency.io.structure">Structure</a></span></dt><dt><span
 class="section"><a 
href="manual/using_concurrency.html#concurrency.io.defaults">Defaults</a></span></dt><dt><span
 class="section"><a 
href="manual/using_concurrency.html#concurrency.io.future">Future</a></span></dt><dt><span
 class="section"><a 
href="manual/using_concurrency.html#concurrency.io.alt">Alternatives</a></span></dt></dl></dd><dt><span
 class="section"><a 
href="manual/using_concurrency.html#manual.intro.using.concurrency.containers">Containers</a></span></dt></dl></dd><dt><span
 class="section"><a 
href="manual/using_exceptions.html">Exceptions</a></span></dt><dd><dl><dt><span 
class="section"><a href="manual/using_exception
 s.html#intro.using.exception.safety">Exception Safety</a></span></dt><dt><span 
class="section"><a 
href="manual/using_exceptions.html#intro.using.exception.propagating">Exception 
Neutrality</a></span></dt><dt><span class="section"><a 
href="manual/using_exceptions.html#intro.using.exception.alloc">Memory 
allocation</a></span></dt><dt><span class="section"><a 
href="manual/using_exceptions.html#intro.using.exception.no">Doing 
without</a></span></dt><dt><span class="section"><a 
href="manual/using_exceptions.html#intro.using.exception.compat">Compatibility</a></span></dt><dd><dl><dt><span
 class="section"><a 
href="manual/using_exceptions.html#using.exception.compat.c">With <code 
class="literal">C</code></a></span></dt><dt><span class="section"><a 
href="manual/using_exceptions.html#using.exception.compat.posix">With <code 
class="literal">POSIX</code> thread 
cancellation</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a 
href="manual/debug.html">Debugging Support</a></span></dt>
 <dd><dl><dt><span class="section"><a 
href="manual/debug.html#debug.compiler">Using <span 
class="command"><strong>g++</strong></span></a></span></dt><dt><span 
class="section"><a href="manual/debug.html#debug.req">Debug Versions of Library 
Binary Files</a></span></dt><dt><span class="section"><a 
href="manual/debug.html#debug.memory">Memory Leak 
Hunting</a></span></dt><dd><dl><dt><span class="section"><a 
href="manual/debug.html#debug.memory.mtalloc">Non-memory leaks in Pool and MT 
allocators</a></span></dt></dl></dd><dt><span class="section"><a 
href="manual/debug.html#debug.races">Data Race Hunting</a></span></dt><dt><span 
class="section"><a href="manual/debug.html#debug.gdb">Using <span 
class="command"><strong>gdb</strong></span></a></span></dt><dt><span 
class="section"><a href="manual/debug.html#debug.exceptions">Tracking uncaught 
exceptions</a></span></dt><dt><span class="section"><a 
href="manual/debug.html#debug.debug_mode">Debug Mode</a></span></dt><dt><span 
class="section"><a hre
 f="manual/debug.html#debug.compile_time_checks">Compile Time 
Checking</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="part"><a 
href="manual/std_contents.html">II. 
+</a></span></dt><dd><dl><dt><span class="chapter"><a 
href="manual/status.html">1. Status</a></span></dt><dd><dl><dt><span 
class="section"><a 
href="manual/status.html#manual.intro.status.iso">Implementation 
Status</a></span></dt><dd><dl><dt><span class="section"><a 
href="manual/status.html#status.iso.1998">C++ 
1998/2003</a></span></dt><dd><dl><dt><span class="section"><a 
href="manual/status.html#iso.1998.status">Implementation 
Status</a></span></dt><dt><span class="section"><a 
href="manual/status.html#iso.1998.specific">Implementation Specific 
Behavior</a></span></dt></dl></dd><dt><span class="section"><a 
href="manual/status.html#status.iso.2011">C++ 
2011</a></span></dt><dd><dl><dt><span class="section"><a 
href="manual/status.html#iso.2011.specific">Implementation Specific 
Behavior</a></span></dt></dl></dd><dt><span class="section"><a 
href="manual/status.html#status.iso.2014">C++ 
2014</a></span></dt><dd><dl><dt><span class="section"><a 
href="manual/status.html#iso.2014.specific">Impl
 ementation Specific Behavior</a></span></dt><dd><dl><dt><span 
class="section"><a href="manual/status.html#iso.2014.filesystemts">Filesystem 
TS</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a 
href="manual/status.html#status.iso.2017">C++ 
2017</a></span></dt><dd><dl><dt><span class="section"><a 
href="manual/status.html#iso.2017.specific">Implementation Specific 
Behavior</a></span></dt><dd><dl><dt><span class="section"><a 
href="manual/status.html#iso.2017.par2ts">Parallelism 2 
TS</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a 
href="manual/status.html#status.iso.2020">C++ 2020</a></span></dt><dt><span 
class="section"><a href="manual/status.html#status.iso.2023">C++ 
2023</a></span></dt><dt><span class="section"><a 
href="manual/status.html#status.iso.tr1">C++ 
TR1</a></span></dt><dd><dl><dt><span class="section"><a 
href="manual/status.html#iso.tr1.specific">Implementation Specific 
Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="manual/s
 tatus.html#status.iso.tr24733">C++ TR 24733</a></span></dt><dt><span 
class="section"><a href="manual/status.html#status.iso.specfun">C++ IS 
29124</a></span></dt><dd><dl><dt><span class="section"><a 
href="manual/status.html#iso.specfun.specific">Implementation Specific 
Behavior</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a 
href="manual/license.html">License</a></span></dt><dd><dl><dt><span 
class="section"><a 
href="manual/license.html#manual.intro.status.license.gpl">The Code: 
GPL</a></span></dt><dt><span class="section"><a 
href="manual/license.html#manual.intro.status.license.fdl">The Documentation: 
GPL, FDL</a></span></dt></dl></dd><dt><span class="section"><a 
href="manual/bugs.html">Bugs</a></span></dt><dd><dl><dt><span 
class="section"><a 
href="manual/bugs.html#manual.intro.status.bugs.impl">Implementation 
Bugs</a></span></dt><dt><span class="section"><a 
href="manual/bugs.html#manual.intro.status.bugs.iso">Standard 
Bugs</a></span></dt></dl></dd></dl></dd><dt><span
  class="chapter"><a href="manual/setup.html">2. 
Setup</a></span></dt><dd><dl><dt><span class="section"><a 
href="manual/setup.html#manual.intro.setup.prereq">Prerequisites</a></span></dt><dt><span
 class="section"><a 
href="manual/configure.html">Configure</a></span></dt><dt><span 
class="section"><a 
href="manual/make.html">Make</a></span></dt></dl></dd><dt><span 
class="chapter"><a href="manual/using.html">3. 
Using</a></span></dt><dd><dl><dt><span class="section"><a 
href="manual/using.html#manual.intro.using.flags">Command 
Options</a></span></dt><dt><span class="section"><a 
href="manual/using_headers.html">Headers</a></span></dt><dd><dl><dt><span 
class="section"><a 
href="manual/using_headers.html#manual.intro.using.headers.all">Header 
Files</a></span></dt><dt><span class="section"><a 
href="manual/using_headers.html#manual.intro.using.headers.mixing">Mixing 
Headers</a></span></dt><dt><span class="section"><a 
href="manual/using_headers.html#manual.intro.using.headers.cheaders">The C Heade
 rs and <code class="code">namespace std</code></a></span></dt><dt><span 
class="section"><a 
href="manual/using_headers.html#manual.intro.using.headers.pre">Precompiled 
Headers</a></span></dt></dl></dd><dt><span class="section"><a 
href="manual/using_macros.html">Macros</a></span></dt><dt><span 
class="section"><a href="manual/using_dual_abi.html">Dual 
ABI</a></span></dt><dd><dl><dt><span class="section"><a 
href="manual/using_dual_abi.html#manual.intro.using.abi.trouble">Troubleshooting</a></span></dt></dl></dd><dt><span
 class="section"><a 
href="manual/using_namespaces.html">Namespaces</a></span></dt><dd><dl><dt><span 
class="section"><a 
href="manual/using_namespaces.html#manual.intro.using.namespaces.all">Available 
Namespaces</a></span></dt><dt><span class="section"><a 
href="manual/using_namespaces.html#manual.intro.using.namespaces.std">namespace 
std</a></span></dt><dt><span class="section"><a 
href="manual/using_namespaces.html#manual.intro.using.namespaces.comp">Using 
Namespace Compos
 ition</a></span></dt></dl></dd><dt><span class="section"><a 
href="manual/using_dynamic_or_shared.html">Linking</a></span></dt><dd><dl><dt><span
 class="section"><a 
href="manual/using_dynamic_or_shared.html#manual.intro.using.linkage.freestanding">Almost
 Nothing</a></span></dt><dt><span class="section"><a 
href="manual/using_dynamic_or_shared.html#manual.intro.using.linkage.dynamic">Finding
 Dynamic or Shared Libraries</a></span></dt><dt><span class="section"><a 
href="manual/using_dynamic_or_shared.html#manual.intro.using.linkage.experimental">Experimental
 Library Extensions</a></span></dt></dl></dd><dt><span class="section"><a 
href="manual/using_concurrency.html">Concurrency</a></span></dt><dd><dl><dt><span
 class="section"><a 
href="manual/using_concurrency.html#manual.intro.using.concurrency.prereq">Prerequisites</a></span></dt><dt><span
 class="section"><a 
href="manual/using_concurrency.html#manual.intro.using.concurrency.thread_safety">Thread
 Safety</a></span></dt><dt><span class="sec
 tion"><a 
href="manual/using_concurrency.html#manual.intro.using.concurrency.atomics">Atomics</a></span></dt><dt><span
 class="section"><a 
href="manual/using_concurrency.html#manual.intro.using.concurrency.io">IO</a></span></dt><dd><dl><dt><span
 class="section"><a 
href="manual/using_concurrency.html#concurrency.io.structure">Structure</a></span></dt><dt><span
 class="section"><a 
href="manual/using_concurrency.html#concurrency.io.defaults">Defaults</a></span></dt><dt><span
 class="section"><a 
href="manual/using_concurrency.html#concurrency.io.future">Future</a></span></dt><dt><span
 class="section"><a 
href="manual/using_concurrency.html#concurrency.io.alt">Alternatives</a></span></dt></dl></dd><dt><span
 class="section"><a 
href="manual/using_concurrency.html#manual.intro.using.concurrency.containers">Containers</a></span></dt></dl></dd><dt><span
 class="section"><a 
href="manual/using_exceptions.html">Exceptions</a></span></dt><dd><dl><dt><span 
class="section"><a href="manual/using_exception
 s.html#intro.using.exception.safety">Exception Safety</a></span></dt><dt><span 
class="section"><a 
href="manual/using_exceptions.html#intro.using.exception.propagating">Exception 
Neutrality</a></span></dt><dt><span class="section"><a 
href="manual/using_exceptions.html#intro.using.exception.alloc">Memory 
allocation</a></span></dt><dt><span class="section"><a 
href="manual/using_exceptions.html#intro.using.exception.no">Doing 
without</a></span></dt><dt><span class="section"><a 
href="manual/using_exceptions.html#intro.using.exception.compat">Compatibility</a></span></dt><dd><dl><dt><span
 class="section"><a 
href="manual/using_exceptions.html#using.exception.compat.c">With <code 
class="literal">C</code></a></span></dt><dt><span class="section"><a 
href="manual/using_exceptions.html#using.exception.compat.posix">With <code 
class="literal">POSIX</code> thread 
cancellation</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a 
href="manual/debug.html">Debugging Support</a></span></dt>
 <dd><dl><dt><span class="section"><a 
href="manual/debug.html#debug.compiler">Using <span 
class="command"><strong>g++</strong></span></a></span></dt><dt><span 
class="section"><a href="manual/debug.html#debug.debug_mode">Debug 
Mode</a></span></dt><dt><span class="section"><a 
href="manual/debug.html#debug.exceptions">Tracking uncaught 
exceptions</a></span></dt><dt><span class="section"><a 
href="manual/debug.html#debug.memory">Memory Leak 
Hunting</a></span></dt><dd><dl><dt><span class="section"><a 
href="manual/debug.html#debug.memory.mtalloc">Non-memory leaks in Pool and MT 
allocators</a></span></dt></dl></dd><dt><span class="section"><a 
href="manual/debug.html#debug.races">Data Race Hunting</a></span></dt><dt><span 
class="section"><a href="manual/debug.html#debug.gdb">Using <span 
class="command"><strong>gdb</strong></span></a></span></dt><dt><span 
class="section"><a href="manual/debug.html#debug.req">Debug Versions of Library 
Binary Files</a></span></dt><dt><span class="section"><a hre
 f="manual/debug.html#debug.compile_time_checks">Compile Time 
Checking</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="part"><a 
href="manual/std_contents.html">II. 
     Standard Contents
   </a></span></dt><dd><dl><dt><span class="chapter"><a 
href="manual/support.html">4. 
   Support
diff --git a/libstdc++-v3/doc/html/manual/debug.html 
b/libstdc++-v3/doc/html/manual/debug.html
index 34ec6598ce4..eb83d4e15ac 100644
--- a/libstdc++-v3/doc/html/manual/debug.html
+++ b/libstdc++-v3/doc/html/manual/debug.html
@@ -12,7 +12,7 @@
     flags can be varied to change debugging characteristics. For
     instance, turning off all optimization via the <code class="code">-g -O0
     -fno-inline</code> flags will disable inlining and optimizations,
-    and add debugging information, so that stepping through all functions,
+    and include debugging information, so that stepping through all functions,
     (including inlined constructors and destructors) is possible. In
     addition, <code class="code">-fno-eliminate-unused-debug-types</code> can 
be
     used when additional debug information, such as nested class info,
@@ -30,31 +30,27 @@
   Many other options are available: please see <a class="link" 
href="http://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html#Debugging%20Options";
 target="_top">"Options
   for Debugging Your Program"</a> in Using the GNU Compiler
   Collection (GCC) for a complete list.
-</p></div><div class="section"><div class="titlepage"><div><div><h3 
class="title"><a id="debug.req"></a>Debug Versions of Library Binary 
Files</h3></div></div></div><p>
-  If you would like debug symbols in libstdc++, there are two ways to
-  build libstdc++ with debug flags. The first is to create a separate
-  debug build by running make from the top-level of a tree
-  freshly-configured with
-</p><pre class="programlisting">
-     --enable-libstdcxx-debug
-</pre><p>and perhaps</p><pre class="programlisting">
-     --enable-libstdcxx-debug-flags='...'
-</pre><p>
-  Both the normal build and the debug build will persist, without
-  having to specify <code class="code">CXXFLAGS</code>, and the debug library 
will
-  be installed in a separate directory tree, in <code 
class="code">(prefix)/lib/debug</code>.
-  For more information, look at the
-  <a class="link" href="configure.html" title="Configure">configuration</a> 
section.
+</p></div><div class="section"><div class="titlepage"><div><div><h3 
class="title"><a id="debug.debug_mode"></a>Debug Mode</h3></div></div></div><p>
+  The <a class="link" href="debug_mode.html" title="Chapter 17. Debug 
Mode">Debug Mode</a>
+  has compile and run-time checks for many containers.
 </p><p>
-  A second approach is to use the configuration flags
-</p><pre class="programlisting">
-     make CXXFLAGS='-g3 -fno-inline -O0' all
-</pre><p>
-  This quick and dirty approach is often sufficient for quick
-  debugging tasks, when you cannot or don't want to recompile your
-  application to use the <a class="link" href="debug_mode.html" title="Chapter 
17. Debug Mode">debug mode</a>.</p></div><div class="section"><div 
class="titlepage"><div><div><h3 class="title"><a id="debug.memory"></a>Memory 
Leak Hunting</h3></div></div></div><p>
+  There are also lightweight assertions for checking function preconditions,
+  such as checking for out-of-bounds indices when accessing a
+  <code class="classname">std::vector</code>. These can be enabled without 
using
+  the full Debug Mode, by using <code 
class="option">-D_GLIBCXX_ASSERTIONS</code>
+  (see <a class="xref" href="using_macros.html" title="Macros">Macros</a>).
+</p></div><div class="section"><div class="titlepage"><div><div><h3 
class="title"><a id="debug.exceptions"></a>Tracking uncaught 
exceptions</h3></div></div></div><p>
+  The <a class="link" href="termination.html#support.termination.verbose" 
title="Verbose Terminate Handler">verbose
+  termination handler</a> gives information about uncaught
+  exceptions which kill the program.
+</p></div><div class="section"><div class="titlepage"><div><div><h3 
class="title"><a id="debug.memory"></a>Memory Leak 
Hunting</h3></div></div></div><p>
   On many targets GCC supports AddressSanitizer, a fast memory error detector,
   which is enabled by the <code class="option">-fsanitize=address</code> 
option.
+</p><p>
+  The <code class="classname">std::vector</code> implementation has additional
+  instrumentation to work with AddressSanitizer, but this has to be enabled
+  explicitly by using <code class="option">-D_GLIBCXX_SANITIZE_VECTOR</code>
+  (see <a class="xref" href="using_macros.html" title="Macros">Macros</a>).
 </p><p>
   There are also various third party memory tracing and debug utilities
   that can be used to provide detailed memory allocation information
@@ -225,14 +221,33 @@
   on-line versions of the GDB user manual in GDB's homepage, at
   <a class="link" href="http://sourceware.org/gdb/"; target="_top"> "GDB: The 
GNU Project
   Debugger" </a>.
-</p></div><div class="section"><div class="titlepage"><div><div><h3 
class="title"><a id="debug.exceptions"></a>Tracking uncaught 
exceptions</h3></div></div></div><p>
-  The <a class="link" href="termination.html#support.termination.verbose" 
title="Verbose Terminate Handler">verbose
-  termination handler</a> gives information about uncaught
-  exceptions which kill the program.
-</p></div><div class="section"><div class="titlepage"><div><div><h3 
class="title"><a id="debug.debug_mode"></a>Debug Mode</h3></div></div></div><p> 
The <a class="link" href="debug_mode.html" title="Chapter 17. Debug Mode">Debug 
Mode</a>
-  has compile and run-time checks for many containers.
-  </p></div><div class="section"><div class="titlepage"><div><div><h3 
class="title"><a id="debug.compile_time_checks"></a>Compile Time 
Checking</h3></div></div></div><p> The <a class="link" 
href="ext_compile_checks.html" title="Chapter 16. Compile Time 
Checks">Compile-Time
+</p></div><div class="section"><div class="titlepage"><div><div><h3 
class="title"><a id="debug.req"></a>Debug Versions of Library Binary 
Files</h3></div></div></div><p>
+  As described above, libstdc++ is built with debug symbols enabled by default,
+  but because it's also built with optimizations the code can be hard to
+  follow when stepping into the library in a debugger.
+</p><p>
+  If you would like to debug <code class="filename">libstdc++.so</code> itself,
+  there are two ways to build an unoptimized libstdc++ with debug flags.
+  The first is to create a separate debug build by running make from the
+  top-level of a tree freshly-configured with
+</p><pre class="programlisting">
+     --enable-libstdcxx-debug
+</pre><p>and perhaps</p><pre class="programlisting">
+     --enable-libstdcxx-debug-flags='...'
+</pre><p>
+  Both the normal build and the debug build will persist, without
+  having to specify <code class="code">CXXFLAGS</code>, and the debug library 
will
+  be installed in a separate directory tree, in <code 
class="code">(prefix)/lib/debug</code>.
+  For more information, look at the
+  <a class="link" href="configure.html" title="Configure">configuration</a> 
section.
+</p><p>
+  A second approach is to use the configuration flags
+</p><pre class="programlisting">
+     make CXXFLAGS='-g3 -fno-inline -O0' all
+</pre></div><div class="section"><div class="titlepage"><div><div><h3 
class="title"><a id="debug.compile_time_checks"></a>Compile Time 
Checking</h3></div></div></div><p> The <a class="link" 
href="ext_compile_checks.html" title="Chapter 16. Compile Time 
Checks">Compile-Time
   Checks</a> extension has compile-time checks for many algorithms.
+  These checks were designed for C++98 and have not been updated to work
+  with C++11 and later standards. They might be removed at a future date.
   </p></div></div><div class="navfooter"><hr /><table width="100%" 
summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" 
href="using_exceptions.html">Prev</a> </td><td width="20%" align="center"><a 
accesskey="u" href="using.html">Up</a></td><td width="40%" align="right"> <a 
accesskey="n" href="std_contents.html">Next</a></td></tr><tr><td width="40%" 
align="left" valign="top">Exceptions </td><td width="20%" align="center"><a 
accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" 
valign="top"> Part II. 
     Standard Contents
   </td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/libstdc++-v3/doc/html/manual/ext_compile_checks.html 
b/libstdc++-v3/doc/html/manual/ext_compile_checks.html
index c60b03381ba..240d4e47f66 100644
--- a/libstdc++-v3/doc/html/manual/ext_compile_checks.html
+++ b/libstdc++-v3/doc/html/manual/ext_compile_checks.html
@@ -24,8 +24,7 @@
    </p><p>The new version imposes a much smaller space overhead on the 
generated
       object file.  The checks are also cleaner and easier to read and
       understand.
-   </p><p>They are off by default for all versions of GCC from 3.0 to 3.4 (the
-      latest release at the time of writing).
+   </p><p>They are off by default for all GCC 3.0 and all later versions.
       They can be enabled at configure time with
       <a class="link" href="configure.html" title="Configure"><code 
class="literal">--enable-concept-checks</code></a>.
       You can enable them on a per-translation-unit basis with
@@ -34,8 +33,15 @@
       (or with <code class="code">#define _GLIBCPP_CONCEPT_CHECKS</code> for 
versions
       3.1, 3.2 and 3.3).
    </p><p>Please note that the concept checks only validate the requirements
-   of the old C++03 standard. C++11 was expected to have first-class
-   support for template parameter constraints based on concepts in the core
-   language. This would have obviated the need for the library-simulated 
concept
-   checking described above, but was not part of C++11.
+   of the old C++03 standard and reject some valid code that meets the relaxed
+   requirements of C++11 and later standards.
+   C++11 was expected to have first-class support for template parameter
+   constraints based on concepts in the core language.
+   This would have obviated the need for the library-simulated concept checking
+   described above, but was not part of C++11.
+   C++20 adds a different model of concepts, which is now used to constrain
+   some new parts of the C++20 library, e.g. the
+   <code class="filename">&lt;ranges&gt;</code> header and the new overloads 
in the
+   <code class="filename">&lt;algorithm&gt;</code> header for working with 
ranges.
+   The old library-simulated concept checks might be removed at a future date.
    </p></div><div class="navfooter"><hr /><table width="100%" 
summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" 
href="ext_preface.html">Prev</a> </td><td width="20%" align="center"><a 
accesskey="u" href="extensions.html">Up</a></td><td width="40%" align="right"> 
<a accesskey="n" href="debug_mode.html">Next</a></td></tr><tr><td width="40%" 
align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" 
href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> 
Chapter 17. Debug Mode</td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/libstdc++-v3/doc/html/manual/index.html 
b/libstdc++-v3/doc/html/manual/index.html
index ef58061c5cf..ed2aee54cea 100644
--- a/libstdc++-v3/doc/html/manual/index.html
+++ b/libstdc++-v3/doc/html/manual/index.html
@@ -4,7 +4,7 @@
     </p></div></div><hr /></div><div class="toc"><p><strong>Table of 
Contents</strong></p><dl class="toc"><dt><span class="part"><a 
href="intro.html">I. 
   Introduction
   
-</a></span></dt><dd><dl><dt><span class="chapter"><a href="status.html">1. 
Status</a></span></dt><dd><dl><dt><span class="section"><a 
href="status.html#manual.intro.status.iso">Implementation 
Status</a></span></dt><dd><dl><dt><span class="section"><a 
href="status.html#status.iso.1998">C++ 
1998/2003</a></span></dt><dd><dl><dt><span class="section"><a 
href="status.html#iso.1998.status">Implementation 
Status</a></span></dt><dt><span class="section"><a 
href="status.html#iso.1998.specific">Implementation Specific 
Behavior</a></span></dt></dl></dd><dt><span class="section"><a 
href="status.html#status.iso.2011">C++ 2011</a></span></dt><dd><dl><dt><span 
class="section"><a href="status.html#iso.2011.specific">Implementation Specific 
Behavior</a></span></dt></dl></dd><dt><span class="section"><a 
href="status.html#status.iso.2014">C++ 2014</a></span></dt><dd><dl><dt><span 
class="section"><a href="status.html#iso.2014.specific">Implementation Specific 
Behavior</a></span></dt><dd><dl><dt><span c
 lass="section"><a href="status.html#iso.2014.filesystemts">Filesystem 
TS</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a 
href="status.html#status.iso.2017">C++ 2017</a></span></dt><dd><dl><dt><span 
class="section"><a href="status.html#iso.2017.specific">Implementation Specific 
Behavior</a></span></dt><dd><dl><dt><span class="section"><a 
href="status.html#iso.2017.par2ts">Parallelism 2 
TS</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a 
href="status.html#status.iso.2020">C++ 2020</a></span></dt><dt><span 
class="section"><a href="status.html#status.iso.2023">C++ 
2023</a></span></dt><dt><span class="section"><a 
href="status.html#status.iso.tr1">C++ TR1</a></span></dt><dd><dl><dt><span 
class="section"><a href="status.html#iso.tr1.specific">Implementation Specific 
Behavior</a></span></dt></dl></dd><dt><span class="section"><a 
href="status.html#status.iso.tr24733">C++ TR 24733</a></span></dt><dt><span 
class="section"><a href="status.html#status.iso.specfun">
 C++ IS 29124</a></span></dt><dd><dl><dt><span class="section"><a 
href="status.html#iso.specfun.specific">Implementation Specific 
Behavior</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a 
href="license.html">License</a></span></dt><dd><dl><dt><span class="section"><a 
href="license.html#manual.intro.status.license.gpl">The Code: 
GPL</a></span></dt><dt><span class="section"><a 
href="license.html#manual.intro.status.license.fdl">The Documentation: GPL, 
FDL</a></span></dt></dl></dd><dt><span class="section"><a 
href="bugs.html">Bugs</a></span></dt><dd><dl><dt><span class="section"><a 
href="bugs.html#manual.intro.status.bugs.impl">Implementation 
Bugs</a></span></dt><dt><span class="section"><a 
href="bugs.html#manual.intro.status.bugs.iso">Standard 
Bugs</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a 
href="setup.html">2. Setup</a></span></dt><dd><dl><dt><span class="section"><a 
href="setup.html#manual.intro.setup.prereq">Prerequisites</a></span></dt><dt><span
 
 class="section"><a href="configure.html">Configure</a></span></dt><dt><span 
class="section"><a href="make.html">Make</a></span></dt></dl></dd><dt><span 
class="chapter"><a href="using.html">3. Using</a></span></dt><dd><dl><dt><span 
class="section"><a href="using.html#manual.intro.using.flags">Command 
Options</a></span></dt><dt><span class="section"><a 
href="using_headers.html">Headers</a></span></dt><dd><dl><dt><span 
class="section"><a 
href="using_headers.html#manual.intro.using.headers.all">Header 
Files</a></span></dt><dt><span class="section"><a 
href="using_headers.html#manual.intro.using.headers.mixing">Mixing 
Headers</a></span></dt><dt><span class="section"><a 
href="using_headers.html#manual.intro.using.headers.cheaders">The C Headers and 
<code class="code">namespace std</code></a></span></dt><dt><span 
class="section"><a 
href="using_headers.html#manual.intro.using.headers.pre">Precompiled 
Headers</a></span></dt></dl></dd><dt><span class="section"><a 
href="using_macros.html">Macro
 s</a></span></dt><dt><span class="section"><a href="using_dual_abi.html">Dual 
ABI</a></span></dt><dd><dl><dt><span class="section"><a 
href="using_dual_abi.html#manual.intro.using.abi.trouble">Troubleshooting</a></span></dt></dl></dd><dt><span
 class="section"><a 
href="using_namespaces.html">Namespaces</a></span></dt><dd><dl><dt><span 
class="section"><a 
href="using_namespaces.html#manual.intro.using.namespaces.all">Available 
Namespaces</a></span></dt><dt><span class="section"><a 
href="using_namespaces.html#manual.intro.using.namespaces.std">namespace 
std</a></span></dt><dt><span class="section"><a 
href="using_namespaces.html#manual.intro.using.namespaces.comp">Using Namespace 
Composition</a></span></dt></dl></dd><dt><span class="section"><a 
href="using_dynamic_or_shared.html">Linking</a></span></dt><dd><dl><dt><span 
class="section"><a 
href="using_dynamic_or_shared.html#manual.intro.using.linkage.freestanding">Almost
 Nothing</a></span></dt><dt><span class="section"><a href="using_dynam
 ic_or_shared.html#manual.intro.using.linkage.dynamic">Finding Dynamic or 
Shared Libraries</a></span></dt><dt><span class="section"><a 
href="using_dynamic_or_shared.html#manual.intro.using.linkage.experimental">Experimental
 Library Extensions</a></span></dt></dl></dd><dt><span class="section"><a 
href="using_concurrency.html">Concurrency</a></span></dt><dd><dl><dt><span 
class="section"><a 
href="using_concurrency.html#manual.intro.using.concurrency.prereq">Prerequisites</a></span></dt><dt><span
 class="section"><a 
href="using_concurrency.html#manual.intro.using.concurrency.thread_safety">Thread
 Safety</a></span></dt><dt><span class="section"><a 
href="using_concurrency.html#manual.intro.using.concurrency.atomics">Atomics</a></span></dt><dt><span
 class="section"><a 
href="using_concurrency.html#manual.intro.using.concurrency.io">IO</a></span></dt><dd><dl><dt><span
 class="section"><a 
href="using_concurrency.html#concurrency.io.structure">Structure</a></span></dt><dt><span
 class="section"><a
  
href="using_concurrency.html#concurrency.io.defaults">Defaults</a></span></dt><dt><span
 class="section"><a 
href="using_concurrency.html#concurrency.io.future">Future</a></span></dt><dt><span
 class="section"><a 
href="using_concurrency.html#concurrency.io.alt">Alternatives</a></span></dt></dl></dd><dt><span
 class="section"><a 
href="using_concurrency.html#manual.intro.using.concurrency.containers">Containers</a></span></dt></dl></dd><dt><span
 class="section"><a 
href="using_exceptions.html">Exceptions</a></span></dt><dd><dl><dt><span 
class="section"><a 
href="using_exceptions.html#intro.using.exception.safety">Exception 
Safety</a></span></dt><dt><span class="section"><a 
href="using_exceptions.html#intro.using.exception.propagating">Exception 
Neutrality</a></span></dt><dt><span class="section"><a 
href="using_exceptions.html#intro.using.exception.alloc">Memory 
allocation</a></span></dt><dt><span class="section"><a 
href="using_exceptions.html#intro.using.exception.no">Doing without</a></sp
 an></dt><dt><span class="section"><a 
href="using_exceptions.html#intro.using.exception.compat">Compatibility</a></span></dt><dd><dl><dt><span
 class="section"><a href="using_exceptions.html#using.exception.compat.c">With 
<code class="literal">C</code></a></span></dt><dt><span class="section"><a 
href="using_exceptions.html#using.exception.compat.posix">With <code 
class="literal">POSIX</code> thread 
cancellation</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a 
href="debug.html">Debugging Support</a></span></dt><dd><dl><dt><span 
class="section"><a href="debug.html#debug.compiler">Using <span 
class="command"><strong>g++</strong></span></a></span></dt><dt><span 
class="section"><a href="debug.html#debug.req">Debug Versions of Library Binary 
Files</a></span></dt><dt><span class="section"><a 
href="debug.html#debug.memory">Memory Leak 
Hunting</a></span></dt><dd><dl><dt><span class="section"><a 
href="debug.html#debug.memory.mtalloc">Non-memory leaks in Pool and MT 
allocators</a>
 </span></dt></dl></dd><dt><span class="section"><a 
href="debug.html#debug.races">Data Race Hunting</a></span></dt><dt><span 
class="section"><a href="debug.html#debug.gdb">Using <span 
class="command"><strong>gdb</strong></span></a></span></dt><dt><span 
class="section"><a href="debug.html#debug.exceptions">Tracking uncaught 
exceptions</a></span></dt><dt><span class="section"><a 
href="debug.html#debug.debug_mode">Debug Mode</a></span></dt><dt><span 
class="section"><a href="debug.html#debug.compile_time_checks">Compile Time 
Checking</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="part"><a 
href="std_contents.html">II. 
+</a></span></dt><dd><dl><dt><span class="chapter"><a href="status.html">1. 
Status</a></span></dt><dd><dl><dt><span class="section"><a 
href="status.html#manual.intro.status.iso">Implementation 
Status</a></span></dt><dd><dl><dt><span class="section"><a 
href="status.html#status.iso.1998">C++ 
1998/2003</a></span></dt><dd><dl><dt><span class="section"><a 
href="status.html#iso.1998.status">Implementation 
Status</a></span></dt><dt><span class="section"><a 
href="status.html#iso.1998.specific">Implementation Specific 
Behavior</a></span></dt></dl></dd><dt><span class="section"><a 
href="status.html#status.iso.2011">C++ 2011</a></span></dt><dd><dl><dt><span 
class="section"><a href="status.html#iso.2011.specific">Implementation Specific 
Behavior</a></span></dt></dl></dd><dt><span class="section"><a 
href="status.html#status.iso.2014">C++ 2014</a></span></dt><dd><dl><dt><span 
class="section"><a href="status.html#iso.2014.specific">Implementation Specific 
Behavior</a></span></dt><dd><dl><dt><span c
 lass="section"><a href="status.html#iso.2014.filesystemts">Filesystem 
TS</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a 
href="status.html#status.iso.2017">C++ 2017</a></span></dt><dd><dl><dt><span 
class="section"><a href="status.html#iso.2017.specific">Implementation Specific 
Behavior</a></span></dt><dd><dl><dt><span class="section"><a 
href="status.html#iso.2017.par2ts">Parallelism 2 
TS</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a 
href="status.html#status.iso.2020">C++ 2020</a></span></dt><dt><span 
class="section"><a href="status.html#status.iso.2023">C++ 
2023</a></span></dt><dt><span class="section"><a 
href="status.html#status.iso.tr1">C++ TR1</a></span></dt><dd><dl><dt><span 
class="section"><a href="status.html#iso.tr1.specific">Implementation Specific 
Behavior</a></span></dt></dl></dd><dt><span class="section"><a 
href="status.html#status.iso.tr24733">C++ TR 24733</a></span></dt><dt><span 
class="section"><a href="status.html#status.iso.specfun">
 C++ IS 29124</a></span></dt><dd><dl><dt><span class="section"><a 
href="status.html#iso.specfun.specific">Implementation Specific 
Behavior</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a 
href="license.html">License</a></span></dt><dd><dl><dt><span class="section"><a 
href="license.html#manual.intro.status.license.gpl">The Code: 
GPL</a></span></dt><dt><span class="section"><a 
href="license.html#manual.intro.status.license.fdl">The Documentation: GPL, 
FDL</a></span></dt></dl></dd><dt><span class="section"><a 
href="bugs.html">Bugs</a></span></dt><dd><dl><dt><span class="section"><a 
href="bugs.html#manual.intro.status.bugs.impl">Implementation 
Bugs</a></span></dt><dt><span class="section"><a 
href="bugs.html#manual.intro.status.bugs.iso">Standard 
Bugs</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a 
href="setup.html">2. Setup</a></span></dt><dd><dl><dt><span class="section"><a 
href="setup.html#manual.intro.setup.prereq">Prerequisites</a></span></dt><dt><span
 
 class="section"><a href="configure.html">Configure</a></span></dt><dt><span 
class="section"><a href="make.html">Make</a></span></dt></dl></dd><dt><span 
class="chapter"><a href="using.html">3. Using</a></span></dt><dd><dl><dt><span 
class="section"><a href="using.html#manual.intro.using.flags">Command 
Options</a></span></dt><dt><span class="section"><a 
href="using_headers.html">Headers</a></span></dt><dd><dl><dt><span 
class="section"><a 
href="using_headers.html#manual.intro.using.headers.all">Header 
Files</a></span></dt><dt><span class="section"><a 
href="using_headers.html#manual.intro.using.headers.mixing">Mixing 
Headers</a></span></dt><dt><span class="section"><a 
href="using_headers.html#manual.intro.using.headers.cheaders">The C Headers and 
<code class="code">namespace std</code></a></span></dt><dt><span 
class="section"><a 
href="using_headers.html#manual.intro.using.headers.pre">Precompiled 
Headers</a></span></dt></dl></dd><dt><span class="section"><a 
href="using_macros.html">Macro
 s</a></span></dt><dt><span class="section"><a href="using_dual_abi.html">Dual 
ABI</a></span></dt><dd><dl><dt><span class="section"><a 
href="using_dual_abi.html#manual.intro.using.abi.trouble">Troubleshooting</a></span></dt></dl></dd><dt><span
 class="section"><a 
href="using_namespaces.html">Namespaces</a></span></dt><dd><dl><dt><span 
class="section"><a 
href="using_namespaces.html#manual.intro.using.namespaces.all">Available 
Namespaces</a></span></dt><dt><span class="section"><a 
href="using_namespaces.html#manual.intro.using.namespaces.std">namespace 
std</a></span></dt><dt><span class="section"><a 
href="using_namespaces.html#manual.intro.using.namespaces.comp">Using Namespace 
Composition</a></span></dt></dl></dd><dt><span class="section"><a 
href="using_dynamic_or_shared.html">Linking</a></span></dt><dd><dl><dt><span 
class="section"><a 
href="using_dynamic_or_shared.html#manual.intro.using.linkage.freestanding">Almost
 Nothing</a></span></dt><dt><span class="section"><a href="using_dynam
 ic_or_shared.html#manual.intro.using.linkage.dynamic">Finding Dynamic or 
Shared Libraries</a></span></dt><dt><span class="section"><a 
href="using_dynamic_or_shared.html#manual.intro.using.linkage.experimental">Experimental
 Library Extensions</a></span></dt></dl></dd><dt><span class="section"><a 
href="using_concurrency.html">Concurrency</a></span></dt><dd><dl><dt><span 
class="section"><a 
href="using_concurrency.html#manual.intro.using.concurrency.prereq">Prerequisites</a></span></dt><dt><span
 class="section"><a 
href="using_concurrency.html#manual.intro.using.concurrency.thread_safety">Thread
 Safety</a></span></dt><dt><span class="section"><a 
href="using_concurrency.html#manual.intro.using.concurrency.atomics">Atomics</a></span></dt><dt><span
 class="section"><a 
href="using_concurrency.html#manual.intro.using.concurrency.io">IO</a></span></dt><dd><dl><dt><span
 class="section"><a 
href="using_concurrency.html#concurrency.io.structure">Structure</a></span></dt><dt><span
 class="section"><a
  
href="using_concurrency.html#concurrency.io.defaults">Defaults</a></span></dt><dt><span
 class="section"><a 
href="using_concurrency.html#concurrency.io.future">Future</a></span></dt><dt><span
 class="section"><a 
href="using_concurrency.html#concurrency.io.alt">Alternatives</a></span></dt></dl></dd><dt><span
 class="section"><a 
href="using_concurrency.html#manual.intro.using.concurrency.containers">Containers</a></span></dt></dl></dd><dt><span
 class="section"><a 
href="using_exceptions.html">Exceptions</a></span></dt><dd><dl><dt><span 
class="section"><a 
href="using_exceptions.html#intro.using.exception.safety">Exception 
Safety</a></span></dt><dt><span class="section"><a 
href="using_exceptions.html#intro.using.exception.propagating">Exception 
Neutrality</a></span></dt><dt><span class="section"><a 
href="using_exceptions.html#intro.using.exception.alloc">Memory 
allocation</a></span></dt><dt><span class="section"><a 
href="using_exceptions.html#intro.using.exception.no">Doing without</a></sp
 an></dt><dt><span class="section"><a 
href="using_exceptions.html#intro.using.exception.compat">Compatibility</a></span></dt><dd><dl><dt><span
 class="section"><a href="using_exceptions.html#using.exception.compat.c">With 
<code class="literal">C</code></a></span></dt><dt><span class="section"><a 
href="using_exceptions.html#using.exception.compat.posix">With <code 
class="literal">POSIX</code> thread 
cancellation</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a 
href="debug.html">Debugging Support</a></span></dt><dd><dl><dt><span 
class="section"><a href="debug.html#debug.compiler">Using <span 
class="command"><strong>g++</strong></span></a></span></dt><dt><span 
class="section"><a href="debug.html#debug.debug_mode">Debug 
Mode</a></span></dt><dt><span class="section"><a 
href="debug.html#debug.exceptions">Tracking uncaught 
exceptions</a></span></dt><dt><span class="section"><a 
href="debug.html#debug.memory">Memory Leak 
Hunting</a></span></dt><dd><dl><dt><span class="section"><
 a href="debug.html#debug.memory.mtalloc">Non-memory leaks in Pool and MT 
allocators</a></span></dt></dl></dd><dt><span class="section"><a 
href="debug.html#debug.races">Data Race Hunting</a></span></dt><dt><span 
class="section"><a href="debug.html#debug.gdb">Using <span 
class="command"><strong>gdb</strong></span></a></span></dt><dt><span 
class="section"><a href="debug.html#debug.req">Debug Versions of Library Binary 
Files</a></span></dt><dt><span class="section"><a 
href="debug.html#debug.compile_time_checks">Compile Time 
Checking</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="part"><a 
href="std_contents.html">II. 
     Standard Contents
   </a></span></dt><dd><dl><dt><span class="chapter"><a href="support.html">4. 
   Support
diff --git a/libstdc++-v3/doc/html/manual/intro.html 
b/libstdc++-v3/doc/html/manual/intro.html
index 3027cb6f3f7..5bb4814d502 100644
--- a/libstdc++-v3/doc/html/manual/intro.html
+++ b/libstdc++-v3/doc/html/manual/intro.html
@@ -5,4 +5,4 @@
 </th></tr><tr><td width="20%" align="left"><a accesskey="p" 
href="index.html">Prev</a> </td><th width="60%" align="center">The GNU C++ 
Library Manual</th><td width="20%" align="right"> <a accesskey="n" 
href="status.html">Next</a></td></tr></table><hr /></div><div class="part"><div 
class="titlepage"><div><div><h1 class="title"><a id="manual.intro"></a>Part I. 
   Introduction
   <a id="id-1.3.3.1.1.1" class="indexterm"></a>
-</h1></div></div></div><div class="toc"><p><strong>Table of 
Contents</strong></p><dl class="toc"><dt><span class="chapter"><a 
href="status.html">1. Status</a></span></dt><dd><dl><dt><span 
class="section"><a href="status.html#manual.intro.status.iso">Implementation 
Status</a></span></dt><dd><dl><dt><span class="section"><a 
href="status.html#status.iso.1998">C++ 
1998/2003</a></span></dt><dd><dl><dt><span class="section"><a 
href="status.html#iso.1998.status">Implementation 
Status</a></span></dt><dt><span class="section"><a 
href="status.html#iso.1998.specific">Implementation Specific 
Behavior</a></span></dt></dl></dd><dt><span class="section"><a 
href="status.html#status.iso.2011">C++ 2011</a></span></dt><dd><dl><dt><span 
class="section"><a href="status.html#iso.2011.specific">Implementation Specific 
Behavior</a></span></dt></dl></dd><dt><span class="section"><a 
href="status.html#status.iso.2014">C++ 2014</a></span></dt><dd><dl><dt><span 
class="section"><a href="status.html#iso.2014.spec
 ific">Implementation Specific Behavior</a></span></dt><dd><dl><dt><span 
class="section"><a href="status.html#iso.2014.filesystemts">Filesystem 
TS</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a 
href="status.html#status.iso.2017">C++ 2017</a></span></dt><dd><dl><dt><span 
class="section"><a href="status.html#iso.2017.specific">Implementation Specific 
Behavior</a></span></dt><dd><dl><dt><span class="section"><a 
href="status.html#iso.2017.par2ts">Parallelism 2 
TS</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a 
href="status.html#status.iso.2020">C++ 2020</a></span></dt><dt><span 
class="section"><a href="status.html#status.iso.2023">C++ 
2023</a></span></dt><dt><span class="section"><a 
href="status.html#status.iso.tr1">C++ TR1</a></span></dt><dd><dl><dt><span 
class="section"><a href="status.html#iso.tr1.specific">Implementation Specific 
Behavior</a></span></dt></dl></dd><dt><span class="section"><a 
href="status.html#status.iso.tr24733">C++ TR 24733</a></span
 ></dt><dt><span class="section"><a href="status.html#status.iso.specfun">C++ 
 >IS 29124</a></span></dt><dd><dl><dt><span class="section"><a 
 >href="status.html#iso.specfun.specific">Implementation Specific 
 >Behavior</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a 
 >href="license.html">License</a></span></dt><dd><dl><dt><span 
 >class="section"><a href="license.html#manual.intro.status.license.gpl">The 
 >Code: GPL</a></span></dt><dt><span class="section"><a 
 >href="license.html#manual.intro.status.license.fdl">The Documentation: GPL, 
 >FDL</a></span></dt></dl></dd><dt><span class="section"><a 
 >href="bugs.html">Bugs</a></span></dt><dd><dl><dt><span class="section"><a 
 >href="bugs.html#manual.intro.status.bugs.impl">Implementation 
 >Bugs</a></span></dt><dt><span class="section"><a 
 >href="bugs.html#manual.intro.status.bugs.iso">Standard 
 >Bugs</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a 
 >href="setup.html">2. Setup</a></span></dt><dd><dl><dt><span 
 >class="section"><a href="setu
 p.html#manual.intro.setup.prereq">Prerequisites</a></span></dt><dt><span 
class="section"><a href="configure.html">Configure</a></span></dt><dt><span 
class="section"><a href="make.html">Make</a></span></dt></dl></dd><dt><span 
class="chapter"><a href="using.html">3. Using</a></span></dt><dd><dl><dt><span 
class="section"><a href="using.html#manual.intro.using.flags">Command 
Options</a></span></dt><dt><span class="section"><a 
href="using_headers.html">Headers</a></span></dt><dd><dl><dt><span 
class="section"><a 
href="using_headers.html#manual.intro.using.headers.all">Header 
Files</a></span></dt><dt><span class="section"><a 
href="using_headers.html#manual.intro.using.headers.mixing">Mixing 
Headers</a></span></dt><dt><span class="section"><a 
href="using_headers.html#manual.intro.using.headers.cheaders">The C Headers and 
<code class="code">namespace std</code></a></span></dt><dt><span 
class="section"><a 
href="using_headers.html#manual.intro.using.headers.pre">Precompiled 
Headers</a></span><
 /dt></dl></dd><dt><span class="section"><a 
href="using_macros.html">Macros</a></span></dt><dt><span class="section"><a 
href="using_dual_abi.html">Dual ABI</a></span></dt><dd><dl><dt><span 
class="section"><a 
href="using_dual_abi.html#manual.intro.using.abi.trouble">Troubleshooting</a></span></dt></dl></dd><dt><span
 class="section"><a 
href="using_namespaces.html">Namespaces</a></span></dt><dd><dl><dt><span 
class="section"><a 
href="using_namespaces.html#manual.intro.using.namespaces.all">Available 
Namespaces</a></span></dt><dt><span class="section"><a 
href="using_namespaces.html#manual.intro.using.namespaces.std">namespace 
std</a></span></dt><dt><span class="section"><a 
href="using_namespaces.html#manual.intro.using.namespaces.comp">Using Namespace 
Composition</a></span></dt></dl></dd><dt><span class="section"><a 
href="using_dynamic_or_shared.html">Linking</a></span></dt><dd><dl><dt><span 
class="section"><a 
href="using_dynamic_or_shared.html#manual.intro.using.linkage.freestanding">Alm
 ost Nothing</a></span></dt><dt><span class="section"><a 
href="using_dynamic_or_shared.html#manual.intro.using.linkage.dynamic">Finding 
Dynamic or Shared Libraries</a></span></dt><dt><span class="section"><a 
href="using_dynamic_or_shared.html#manual.intro.using.linkage.experimental">Experimental
 Library Extensions</a></span></dt></dl></dd><dt><span class="section"><a 
href="using_concurrency.html">Concurrency</a></span></dt><dd><dl><dt><span 
class="section"><a 
href="using_concurrency.html#manual.intro.using.concurrency.prereq">Prerequisites</a></span></dt><dt><span
 class="section"><a 
href="using_concurrency.html#manual.intro.using.concurrency.thread_safety">Thread
 Safety</a></span></dt><dt><span class="section"><a 
href="using_concurrency.html#manual.intro.using.concurrency.atomics">Atomics</a></span></dt><dt><span
 class="section"><a 
href="using_concurrency.html#manual.intro.using.concurrency.io">IO</a></span></dt><dd><dl><dt><span
 class="section"><a href="using_concurrency.html#concur
 rency.io.structure">Structure</a></span></dt><dt><span class="section"><a 
href="using_concurrency.html#concurrency.io.defaults">Defaults</a></span></dt><dt><span
 class="section"><a 
href="using_concurrency.html#concurrency.io.future">Future</a></span></dt><dt><span
 class="section"><a 
href="using_concurrency.html#concurrency.io.alt">Alternatives</a></span></dt></dl></dd><dt><span
 class="section"><a 
href="using_concurrency.html#manual.intro.using.concurrency.containers">Containers</a></span></dt></dl></dd><dt><span
 class="section"><a 
href="using_exceptions.html">Exceptions</a></span></dt><dd><dl><dt><span 
class="section"><a 
href="using_exceptions.html#intro.using.exception.safety">Exception 
Safety</a></span></dt><dt><span class="section"><a 
href="using_exceptions.html#intro.using.exception.propagating">Exception 
Neutrality</a></span></dt><dt><span class="section"><a 
href="using_exceptions.html#intro.using.exception.alloc">Memory 
allocation</a></span></dt><dt><span class="section"><a hr
 ef="using_exceptions.html#intro.using.exception.no">Doing 
without</a></span></dt><dt><span class="section"><a 
href="using_exceptions.html#intro.using.exception.compat">Compatibility</a></span></dt><dd><dl><dt><span
 class="section"><a href="using_exceptions.html#using.exception.compat.c">With 
<code class="literal">C</code></a></span></dt><dt><span class="section"><a 
href="using_exceptions.html#using.exception.compat.posix">With <code 
class="literal">POSIX</code> thread 
cancellation</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a 
href="debug.html">Debugging Support</a></span></dt><dd><dl><dt><span 
class="section"><a href="debug.html#debug.compiler">Using <span 
class="command"><strong>g++</strong></span></a></span></dt><dt><span 
class="section"><a href="debug.html#debug.req">Debug Versions of Library Binary 
Files</a></span></dt><dt><span class="section"><a 
href="debug.html#debug.memory">Memory Leak 
Hunting</a></span></dt><dd><dl><dt><span class="section"><a href="debug.
 html#debug.memory.mtalloc">Non-memory leaks in Pool and MT 
allocators</a></span></dt></dl></dd><dt><span class="section"><a 
href="debug.html#debug.races">Data Race Hunting</a></span></dt><dt><span 
class="section"><a href="debug.html#debug.gdb">Using <span 
class="command"><strong>gdb</strong></span></a></span></dt><dt><span 
class="section"><a href="debug.html#debug.exceptions">Tracking uncaught 
exceptions</a></span></dt><dt><span class="section"><a 
href="debug.html#debug.debug_mode">Debug Mode</a></span></dt><dt><span 
class="section"><a href="debug.html#debug.compile_time_checks">Compile Time 
Checking</a></span></dt></dl></dd></dl></dd></dl></div></div><div 
class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td 
width="40%" align="left"><a accesskey="p" href="index.html">Prev</a> </td><td 
width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td 
width="40%" align="right"> <a accesskey="n" 
href="status.html">Next</a></td></tr><tr><td width=
 "40%" align="left" valign="top">The GNU C++ Library Manual </td><td 
width="20%" align="center"><a accesskey="h" 
href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> 
Chapter 1. Status</td></tr></table></div></body></html>
\ No newline at end of file
+</h1></div></div></div><div class="toc"><p><strong>Table of 
Contents</strong></p><dl class="toc"><dt><span class="chapter"><a 
href="status.html">1. Status</a></span></dt><dd><dl><dt><span 
class="section"><a href="status.html#manual.intro.status.iso">Implementation 
Status</a></span></dt><dd><dl><dt><span class="section"><a 
href="status.html#status.iso.1998">C++ 
1998/2003</a></span></dt><dd><dl><dt><span class="section"><a 
href="status.html#iso.1998.status">Implementation 
Status</a></span></dt><dt><span class="section"><a 
href="status.html#iso.1998.specific">Implementation Specific 
Behavior</a></span></dt></dl></dd><dt><span class="section"><a 
href="status.html#status.iso.2011">C++ 2011</a></span></dt><dd><dl><dt><span 
class="section"><a href="status.html#iso.2011.specific">Implementation Specific 
Behavior</a></span></dt></dl></dd><dt><span class="section"><a 
href="status.html#status.iso.2014">C++ 2014</a></span></dt><dd><dl><dt><span 
class="section"><a href="status.html#iso.2014.spec
 ific">Implementation Specific Behavior</a></span></dt><dd><dl><dt><span 
class="section"><a href="status.html#iso.2014.filesystemts">Filesystem 
TS</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a 
href="status.html#status.iso.2017">C++ 2017</a></span></dt><dd><dl><dt><span 
class="section"><a href="status.html#iso.2017.specific">Implementation Specific 
Behavior</a></span></dt><dd><dl><dt><span class="section"><a 
href="status.html#iso.2017.par2ts">Parallelism 2 
TS</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a 
href="status.html#status.iso.2020">C++ 2020</a></span></dt><dt><span 
class="section"><a href="status.html#status.iso.2023">C++ 
2023</a></span></dt><dt><span class="section"><a 
href="status.html#status.iso.tr1">C++ TR1</a></span></dt><dd><dl><dt><span 
class="section"><a href="status.html#iso.tr1.specific">Implementation Specific 
Behavior</a></span></dt></dl></dd><dt><span class="section"><a 
href="status.html#status.iso.tr24733">C++ TR 24733</a></span
 ></dt><dt><span class="section"><a href="status.html#status.iso.specfun">C++ 
 >IS 29124</a></span></dt><dd><dl><dt><span class="section"><a 
 >href="status.html#iso.specfun.specific">Implementation Specific 
 >Behavior</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a 
 >href="license.html">License</a></span></dt><dd><dl><dt><span 
 >class="section"><a href="license.html#manual.intro.status.license.gpl">The 
 >Code: GPL</a></span></dt><dt><span class="section"><a 
 >href="license.html#manual.intro.status.license.fdl">The Documentation: GPL, 
 >FDL</a></span></dt></dl></dd><dt><span class="section"><a 
 >href="bugs.html">Bugs</a></span></dt><dd><dl><dt><span class="section"><a 
 >href="bugs.html#manual.intro.status.bugs.impl">Implementation 
 >Bugs</a></span></dt><dt><span class="section"><a 
 >href="bugs.html#manual.intro.status.bugs.iso">Standard 
 >Bugs</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a 
 >href="setup.html">2. Setup</a></span></dt><dd><dl><dt><span 
 >class="section"><a href="setu
 p.html#manual.intro.setup.prereq">Prerequisites</a></span></dt><dt><span 
class="section"><a href="configure.html">Configure</a></span></dt><dt><span 
class="section"><a href="make.html">Make</a></span></dt></dl></dd><dt><span 
class="chapter"><a href="using.html">3. Using</a></span></dt><dd><dl><dt><span 
class="section"><a href="using.html#manual.intro.using.flags">Command 
Options</a></span></dt><dt><span class="section"><a 
href="using_headers.html">Headers</a></span></dt><dd><dl><dt><span 
class="section"><a 
href="using_headers.html#manual.intro.using.headers.all">Header 
Files</a></span></dt><dt><span class="section"><a 
href="using_headers.html#manual.intro.using.headers.mixing">Mixing 
Headers</a></span></dt><dt><span class="section"><a 
href="using_headers.html#manual.intro.using.headers.cheaders">The C Headers and 
<code class="code">namespace std</code></a></span></dt><dt><span 
class="section"><a 
href="using_headers.html#manual.intro.using.headers.pre">Precompiled 
Headers</a></span><
 /dt></dl></dd><dt><span class="section"><a 
href="using_macros.html">Macros</a></span></dt><dt><span class="section"><a 
href="using_dual_abi.html">Dual ABI</a></span></dt><dd><dl><dt><span 
class="section"><a 
href="using_dual_abi.html#manual.intro.using.abi.trouble">Troubleshooting</a></span></dt></dl></dd><dt><span
 class="section"><a 
href="using_namespaces.html">Namespaces</a></span></dt><dd><dl><dt><span 
class="section"><a 
href="using_namespaces.html#manual.intro.using.namespaces.all">Available 
Namespaces</a></span></dt><dt><span class="section"><a 
href="using_namespaces.html#manual.intro.using.namespaces.std">namespace 
std</a></span></dt><dt><span class="section"><a 
href="using_namespaces.html#manual.intro.using.namespaces.comp">Using Namespace 
Composition</a></span></dt></dl></dd><dt><span class="section"><a 
href="using_dynamic_or_shared.html">Linking</a></span></dt><dd><dl><dt><span 
class="section"><a 
href="using_dynamic_or_shared.html#manual.intro.using.linkage.freestanding">Alm
 ost Nothing</a></span></dt><dt><span class="section"><a 
href="using_dynamic_or_shared.html#manual.intro.using.linkage.dynamic">Finding 
Dynamic or Shared Libraries</a></span></dt><dt><span class="section"><a 
href="using_dynamic_or_shared.html#manual.intro.using.linkage.experimental">Experimental
 Library Extensions</a></span></dt></dl></dd><dt><span class="section"><a 
href="using_concurrency.html">Concurrency</a></span></dt><dd><dl><dt><span 
class="section"><a 
href="using_concurrency.html#manual.intro.using.concurrency.prereq">Prerequisites</a></span></dt><dt><span
 class="section"><a 
href="using_concurrency.html#manual.intro.using.concurrency.thread_safety">Thread
 Safety</a></span></dt><dt><span class="section"><a 
href="using_concurrency.html#manual.intro.using.concurrency.atomics">Atomics</a></span></dt><dt><span
 class="section"><a 
href="using_concurrency.html#manual.intro.using.concurrency.io">IO</a></span></dt><dd><dl><dt><span
 class="section"><a href="using_concurrency.html#concur
 rency.io.structure">Structure</a></span></dt><dt><span class="section"><a 
href="using_concurrency.html#concurrency.io.defaults">Defaults</a></span></dt><dt><span
 class="section"><a 
href="using_concurrency.html#concurrency.io.future">Future</a></span></dt><dt><span
 class="section"><a 
href="using_concurrency.html#concurrency.io.alt">Alternatives</a></span></dt></dl></dd><dt><span
 class="section"><a 
href="using_concurrency.html#manual.intro.using.concurrency.containers">Containers</a></span></dt></dl></dd><dt><span
 class="section"><a 
href="using_exceptions.html">Exceptions</a></span></dt><dd><dl><dt><span 
class="section"><a 
href="using_exceptions.html#intro.using.exception.safety">Exception 
Safety</a></span></dt><dt><span class="section"><a 
href="using_exceptions.html#intro.using.exception.propagating">Exception 
Neutrality</a></span></dt><dt><span class="section"><a 
href="using_exceptions.html#intro.using.exception.alloc">Memory 
allocation</a></span></dt><dt><span class="section"><a hr
 ef="using_exceptions.html#intro.using.exception.no">Doing 
without</a></span></dt><dt><span class="section"><a 
href="using_exceptions.html#intro.using.exception.compat">Compatibility</a></span></dt><dd><dl><dt><span
 class="section"><a href="using_exceptions.html#using.exception.compat.c">With 
<code class="literal">C</code></a></span></dt><dt><span class="section"><a 
href="using_exceptions.html#using.exception.compat.posix">With <code 
class="literal">POSIX</code> thread 
cancellation</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a 
href="debug.html">Debugging Support</a></span></dt><dd><dl><dt><span 
class="section"><a href="debug.html#debug.compiler">Using <span 
class="command"><strong>g++</strong></span></a></span></dt><dt><span 
class="section"><a href="debug.html#debug.debug_mode">Debug 
Mode</a></span></dt><dt><span class="section"><a 
href="debug.html#debug.exceptions">Tracking uncaught 
exceptions</a></span></dt><dt><span class="section"><a 
href="debug.html#debug.memor
 y">Memory Leak Hunting</a></span></dt><dd><dl><dt><span class="section"><a 
href="debug.html#debug.memory.mtalloc">Non-memory leaks in Pool and MT 
allocators</a></span></dt></dl></dd><dt><span class="section"><a 
href="debug.html#debug.races">Data Race Hunting</a></span></dt><dt><span 
class="section"><a href="debug.html#debug.gdb">Using <span 
class="command"><strong>gdb</strong></span></a></span></dt><dt><span 
class="section"><a href="debug.html#debug.req">Debug Versions of Library Binary 
Files</a></span></dt><dt><span class="section"><a 
href="debug.html#debug.compile_time_checks">Compile Time 
Checking</a></span></dt></dl></dd></dl></dd></dl></div></div><div 
class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td 
width="40%" align="left"><a accesskey="p" href="index.html">Prev</a> </td><td 
width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td 
width="40%" align="right"> <a accesskey="n" 
href="status.html">Next</a></td></tr><tr><td width=
 "40%" align="left" valign="top">The GNU C++ Library Manual </td><td 
width="20%" align="center"><a accesskey="h" 
href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> 
Chapter 1. Status</td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/libstdc++-v3/doc/html/manual/using.html 
b/libstdc++-v3/doc/html/manual/using.html
index e8e0c6c0e85..d663660b3a4 100644
--- a/libstdc++-v3/doc/html/manual/using.html
+++ b/libstdc++-v3/doc/html/manual/using.html
@@ -2,7 +2,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";><html 
xmlns="http://www.w3.org/1999/xhtml";><head><meta http-equiv="Content-Type" 
content="text/html; charset=UTF-8" /><title>Chapter 3. Using</title><meta 
name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta 
name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO 
C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU 
C++ Library" /><link rel="up" href="intro.html" title="Part I.  Introduction" 
/><link rel="prev" href="make.html" title="Make" /><link rel="next" 
href="using_headers.html" title="Headers" /></head><body><div 
class="navheader"><table width="100%" summary="Navigation header"><tr><th 
colspan="3" align="center">Chapter 3. Using</th></tr><tr><td width="20%" 
align="left"><a accesskey="p" href="make.html">Prev</a> </td><th width="60%" 
align="center">Part I. 
   Introduction
   
-</th><td width="20%" align="right"> <a accesskey="n" 
href="using_headers.html">Next</a></td></tr></table><hr /></div><div 
class="chapter"><div class="titlepage"><div><div><h2 class="title"><a 
id="manual.intro.using"></a>Chapter 3. Using</h2></div></div></div><div 
class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span 
class="section"><a href="using.html#manual.intro.using.flags">Command 
Options</a></span></dt><dt><span class="section"><a 
href="using_headers.html">Headers</a></span></dt><dd><dl><dt><span 
class="section"><a 
href="using_headers.html#manual.intro.using.headers.all">Header 
Files</a></span></dt><dt><span class="section"><a 
href="using_headers.html#manual.intro.using.headers.mixing">Mixing 
Headers</a></span></dt><dt><span class="section"><a 
href="using_headers.html#manual.intro.using.headers.cheaders">The C Headers and 
<code class="code">namespace std</code></a></span></dt><dt><span 
class="section"><a href="using_headers.html#manual.intro.using.he
 aders.pre">Precompiled Headers</a></span></dt></dl></dd><dt><span 
class="section"><a href="using_macros.html">Macros</a></span></dt><dt><span 
class="section"><a href="using_dual_abi.html">Dual 
ABI</a></span></dt><dd><dl><dt><span class="section"><a 
href="using_dual_abi.html#manual.intro.using.abi.trouble">Troubleshooting</a></span></dt></dl></dd><dt><span
 class="section"><a 
href="using_namespaces.html">Namespaces</a></span></dt><dd><dl><dt><span 
class="section"><a 
href="using_namespaces.html#manual.intro.using.namespaces.all">Available 
Namespaces</a></span></dt><dt><span class="section"><a 
href="using_namespaces.html#manual.intro.using.namespaces.std">namespace 
std</a></span></dt><dt><span class="section"><a 
href="using_namespaces.html#manual.intro.using.namespaces.comp">Using Namespace 
Composition</a></span></dt></dl></dd><dt><span class="section"><a 
href="using_dynamic_or_shared.html">Linking</a></span></dt><dd><dl><dt><span 
class="section"><a href="using_dynamic_or_shared.html#ma
 nual.intro.using.linkage.freestanding">Almost Nothing</a></span></dt><dt><span 
class="section"><a 
href="using_dynamic_or_shared.html#manual.intro.using.linkage.dynamic">Finding 
Dynamic or Shared Libraries</a></span></dt><dt><span class="section"><a 
href="using_dynamic_or_shared.html#manual.intro.using.linkage.experimental">Experimental
 Library Extensions</a></span></dt></dl></dd><dt><span class="section"><a 
href="using_concurrency.html">Concurrency</a></span></dt><dd><dl><dt><span 
class="section"><a 
href="using_concurrency.html#manual.intro.using.concurrency.prereq">Prerequisites</a></span></dt><dt><span
 class="section"><a 
href="using_concurrency.html#manual.intro.using.concurrency.thread_safety">Thread
 Safety</a></span></dt><dt><span class="section"><a 
href="using_concurrency.html#manual.intro.using.concurrency.atomics">Atomics</a></span></dt><dt><span
 class="section"><a 
href="using_concurrency.html#manual.intro.using.concurrency.io">IO</a></span></dt><dd><dl><dt><span
 class="secti
 on"><a 
href="using_concurrency.html#concurrency.io.structure">Structure</a></span></dt><dt><span
 class="section"><a 
href="using_concurrency.html#concurrency.io.defaults">Defaults</a></span></dt><dt><span
 class="section"><a 
href="using_concurrency.html#concurrency.io.future">Future</a></span></dt><dt><span
 class="section"><a 
href="using_concurrency.html#concurrency.io.alt">Alternatives</a></span></dt></dl></dd><dt><span
 class="section"><a 
href="using_concurrency.html#manual.intro.using.concurrency.containers">Containers</a></span></dt></dl></dd><dt><span
 class="section"><a 
href="using_exceptions.html">Exceptions</a></span></dt><dd><dl><dt><span 
class="section"><a 
href="using_exceptions.html#intro.using.exception.safety">Exception 
Safety</a></span></dt><dt><span class="section"><a 
href="using_exceptions.html#intro.using.exception.propagating">Exception 
Neutrality</a></span></dt><dt><span class="section"><a 
href="using_exceptions.html#intro.using.exception.alloc">Memory allocation</a><
 /span></dt><dt><span class="section"><a 
href="using_exceptions.html#intro.using.exception.no">Doing 
without</a></span></dt><dt><span class="section"><a 
href="using_exceptions.html#intro.using.exception.compat">Compatibility</a></span></dt><dd><dl><dt><span
 class="section"><a href="using_exceptions.html#using.exception.compat.c">With 
<code class="literal">C</code></a></span></dt><dt><span class="section"><a 
href="using_exceptions.html#using.exception.compat.posix">With <code 
class="literal">POSIX</code> thread 
cancellation</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a 
href="debug.html">Debugging Support</a></span></dt><dd><dl><dt><span 
class="section"><a href="debug.html#debug.compiler">Using <span 
class="command"><strong>g++</strong></span></a></span></dt><dt><span 
class="section"><a href="debug.html#debug.req">Debug Versions of Library Binary 
Files</a></span></dt><dt><span class="section"><a 
href="debug.html#debug.memory">Memory Leak Hunting</a></span></dt><dd><dl
 ><dt><span class="section"><a 
 >href="debug.html#debug.memory.mtalloc">Non-memory leaks in Pool and MT 
 >allocators</a></span></dt></dl></dd><dt><span class="section"><a 
 >href="debug.html#debug.races">Data Race Hunting</a></span></dt><dt><span 
 >class="section"><a href="debug.html#debug.gdb">Using <span 
 >class="command"><strong>gdb</strong></span></a></span></dt><dt><span 
 >class="section"><a href="debug.html#debug.exceptions">Tracking uncaught 
 >exceptions</a></span></dt><dt><span class="section"><a 
 >href="debug.html#debug.debug_mode">Debug Mode</a></span></dt><dt><span 
 >class="section"><a href="debug.html#debug.compile_time_checks">Compile Time 
 >Checking</a></span></dt></dl></dd></dl></div><div class="section"><div 
 >class="titlepage"><div><div><h2 class="title" style="clear: both"><a 
 >id="manual.intro.using.flags"></a>Command Options</h2></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" 
href="using_headers.html">Next</a></td></tr></table><hr /></div><div 
class="chapter"><div class="titlepage"><div><div><h2 class="title"><a 
id="manual.intro.using"></a>Chapter 3. Using</h2></div></div></div><div 
class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span 
class="section"><a href="using.html#manual.intro.using.flags">Command 
Options</a></span></dt><dt><span class="section"><a 
href="using_headers.html">Headers</a></span></dt><dd><dl><dt><span 
class="section"><a 
href="using_headers.html#manual.intro.using.headers.all">Header 
Files</a></span></dt><dt><span class="section"><a 
href="using_headers.html#manual.intro.using.headers.mixing">Mixing 
Headers</a></span></dt><dt><span class="section"><a 
href="using_headers.html#manual.intro.using.headers.cheaders">The C Headers and 
<code class="code">namespace std</code></a></span></dt><dt><span 
class="section"><a href="using_headers.html#manual.intro.using.he
 aders.pre">Precompiled Headers</a></span></dt></dl></dd><dt><span 
class="section"><a href="using_macros.html">Macros</a></span></dt><dt><span 
class="section"><a href="using_dual_abi.html">Dual 
ABI</a></span></dt><dd><dl><dt><span class="section"><a 
href="using_dual_abi.html#manual.intro.using.abi.trouble">Troubleshooting</a></span></dt></dl></dd><dt><span
 class="section"><a 
href="using_namespaces.html">Namespaces</a></span></dt><dd><dl><dt><span 
class="section"><a 
href="using_namespaces.html#manual.intro.using.namespaces.all">Available 
Namespaces</a></span></dt><dt><span class="section"><a 
href="using_namespaces.html#manual.intro.using.namespaces.std">namespace 
std</a></span></dt><dt><span class="section"><a 
href="using_namespaces.html#manual.intro.using.namespaces.comp">Using Namespace 
Composition</a></span></dt></dl></dd><dt><span class="section"><a 
href="using_dynamic_or_shared.html">Linking</a></span></dt><dd><dl><dt><span 
class="section"><a href="using_dynamic_or_shared.html#ma
 nual.intro.using.linkage.freestanding">Almost Nothing</a></span></dt><dt><span 
class="section"><a 
href="using_dynamic_or_shared.html#manual.intro.using.linkage.dynamic">Finding 
Dynamic or Shared Libraries</a></span></dt><dt><span class="section"><a 
href="using_dynamic_or_shared.html#manual.intro.using.linkage.experimental">Experimental
 Library Extensions</a></span></dt></dl></dd><dt><span class="section"><a 
href="using_concurrency.html">Concurrency</a></span></dt><dd><dl><dt><span 
class="section"><a 
href="using_concurrency.html#manual.intro.using.concurrency.prereq">Prerequisites</a></span></dt><dt><span
 class="section"><a 
href="using_concurrency.html#manual.intro.using.concurrency.thread_safety">Thread
 Safety</a></span></dt><dt><span class="section"><a 
href="using_concurrency.html#manual.intro.using.concurrency.atomics">Atomics</a></span></dt><dt><span
 class="section"><a 
href="using_concurrency.html#manual.intro.using.concurrency.io">IO</a></span></dt><dd><dl><dt><span
 class="secti
 on"><a 
href="using_concurrency.html#concurrency.io.structure">Structure</a></span></dt><dt><span
 class="section"><a 
href="using_concurrency.html#concurrency.io.defaults">Defaults</a></span></dt><dt><span
 class="section"><a 
href="using_concurrency.html#concurrency.io.future">Future</a></span></dt><dt><span
 class="section"><a 
href="using_concurrency.html#concurrency.io.alt">Alternatives</a></span></dt></dl></dd><dt><span
 class="section"><a 
href="using_concurrency.html#manual.intro.using.concurrency.containers">Containers</a></span></dt></dl></dd><dt><span
 class="section"><a 
href="using_exceptions.html">Exceptions</a></span></dt><dd><dl><dt><span 
class="section"><a 
href="using_exceptions.html#intro.using.exception.safety">Exception 
Safety</a></span></dt><dt><span class="section"><a 
href="using_exceptions.html#intro.using.exception.propagating">Exception 
Neutrality</a></span></dt><dt><span class="section"><a 
href="using_exceptions.html#intro.using.exception.alloc">Memory allocation</a><
 /span></dt><dt><span class="section"><a 
href="using_exceptions.html#intro.using.exception.no">Doing 
without</a></span></dt><dt><span class="section"><a 
href="using_exceptions.html#intro.using.exception.compat">Compatibility</a></span></dt><dd><dl><dt><span
 class="section"><a href="using_exceptions.html#using.exception.compat.c">With 
<code class="literal">C</code></a></span></dt><dt><span class="section"><a 
href="using_exceptions.html#using.exception.compat.posix">With <code 
class="literal">POSIX</code> thread 
cancellation</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a 
href="debug.html">Debugging Support</a></span></dt><dd><dl><dt><span 
class="section"><a href="debug.html#debug.compiler">Using <span 
class="command"><strong>g++</strong></span></a></span></dt><dt><span 
class="section"><a href="debug.html#debug.debug_mode">Debug 
Mode</a></span></dt><dt><span class="section"><a 
href="debug.html#debug.exceptions">Tracking uncaught 
exceptions</a></span></dt><dt><span class
 ="section"><a href="debug.html#debug.memory">Memory Leak 
Hunting</a></span></dt><dd><dl><dt><span class="section"><a 
href="debug.html#debug.memory.mtalloc">Non-memory leaks in Pool and MT 
allocators</a></span></dt></dl></dd><dt><span class="section"><a 
href="debug.html#debug.races">Data Race Hunting</a></span></dt><dt><span 
class="section"><a href="debug.html#debug.gdb">Using <span 
class="command"><strong>gdb</strong></span></a></span></dt><dt><span 
class="section"><a href="debug.html#debug.req">Debug Versions of Library Binary 
Files</a></span></dt><dt><span class="section"><a 
href="debug.html#debug.compile_time_checks">Compile Time 
Checking</a></span></dt></dl></dd></dl></div><div class="section"><div 
class="titlepage"><div><div><h2 class="title" style="clear: both"><a 
id="manual.intro.using.flags"></a>Command Options</h2></div></div></div><p>
       The set of features available in the GNU C++ library is shaped by
       several <a class="link" 
href="http://gcc.gnu.org/onlinedocs/gcc-4.3.2/gcc/Invoking-GCC.html"; 
target="_top">GCC
       Command Options</a>. Options that impact libstdc++ are
diff --git a/libstdc++-v3/doc/html/manual/using_macros.html 
b/libstdc++-v3/doc/html/manual/using_macros.html
index 62c66b7de4c..ae564692630 100644
--- a/libstdc++-v3/doc/html/manual/using_macros.html
+++ b/libstdc++-v3/doc/html/manual/using_macros.html
@@ -123,5 +123,5 @@
         or <code class="classname">malloc_allocator</code></a>. The annotations
         must be present on all vector operations or none, so this macro must
         be defined to the same value for all translation units that create,
-        destroy or modify vectors.
+        destroy, or modify vectors.
       </p></dd></dl></div></div><div class="navfooter"><hr /><table 
width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a 
accesskey="p" href="using_headers.html">Prev</a> </td><td width="20%" 
align="center"><a accesskey="u" href="using.html">Up</a></td><td width="40%" 
align="right"> <a accesskey="n" 
href="using_dual_abi.html">Next</a></td></tr><tr><td width="40%" align="left" 
valign="top">Headers </td><td width="20%" align="center"><a accesskey="h" 
href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> 
Dual ABI</td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/libstdc++-v3/doc/xml/manual/debug.xml 
b/libstdc++-v3/doc/xml/manual/debug.xml
index 7f6d0876fc6..23dbae5e521 100644
--- a/libstdc++-v3/doc/xml/manual/debug.xml
+++ b/libstdc++-v3/doc/xml/manual/debug.xml
@@ -30,7 +30,7 @@
     flags can be varied to change debugging characteristics. For
     instance, turning off all optimization via the <code>-g -O0
     -fno-inline</code> flags will disable inlining and optimizations,
-    and add debugging information, so that stepping through all functions,
+    and include debugging information, so that stepping through all functions,
     (including inlined constructors and destructors) is possible. In
     addition, <code>-fno-eliminate-unused-debug-types</code> can be
     used when additional debug information, such as nested class info,
@@ -55,41 +55,30 @@
 </para>
 </section>
 
-<section xml:id="debug.req"><info><title>Debug Versions of Library Binary 
Files</title></info>
-
+<section xml:id="debug.debug_mode"><info><title>Debug Mode</title></info>
 
 <para>
-  If you would like debug symbols in libstdc++, there are two ways to
-  build libstdc++ with debug flags. The first is to create a separate
-  debug build by running make from the top-level of a tree
-  freshly-configured with
-</para>
-<programlisting>
-     --enable-libstdcxx-debug
-</programlisting>
-<para>and perhaps</para>
-<programlisting>
-     --enable-libstdcxx-debug-flags='...'
-</programlisting>
-<para>
-  Both the normal build and the debug build will persist, without
-  having to specify <code>CXXFLAGS</code>, and the debug library will
-  be installed in a separate directory tree, in 
<code>(prefix)/lib/debug</code>.
-  For more information, look at the
-  <link linkend="manual.intro.setup.configure">configuration</link> section.
+  The <link linkend="manual.ext.debug_mode">Debug Mode</link>
+  has compile and run-time checks for many containers.
 </para>
 
 <para>
-  A second approach is to use the configuration flags
+  There are also lightweight assertions for checking function preconditions,
+  such as checking for out-of-bounds indices when accessing a
+  <classname>std::vector</classname>. These can be enabled without using
+  the full Debug Mode, by using <option>-D_GLIBCXX_ASSERTIONS</option>
+  (see <xref linkend="manual.intro.using.macros"/>).
 </para>
-<programlisting>
-     make CXXFLAGS='-g3 -fno-inline -O0' all
-</programlisting>
+
+</section>
+
+<section xml:id="debug.exceptions"><info><title>Tracking uncaught 
exceptions</title></info>
 
 <para>
-  This quick and dirty approach is often sufficient for quick
-  debugging tasks, when you cannot or don't want to recompile your
-  application to use the <link linkend="manual.ext.debug_mode">debug 
mode</link>.</para>
+  The <link linkend="support.termination.verbose">verbose
+  termination handler</link> gives information about uncaught
+  exceptions which kill the program.
+</para>
 </section>
 
 <section xml:id="debug.memory"><info><title>Memory Leak Hunting</title></info>
@@ -99,6 +88,13 @@
   which is enabled by the <option>-fsanitize=address</option> option.
 </para>
 
+<para>
+  The <classname>std::vector</classname> implementation has additional
+  instrumentation to work with AddressSanitizer, but this has to be enabled
+  explicitly by using <option>-D_GLIBCXX_SANITIZE_VECTOR</option>
+  (see <xref linkend="manual.intro.using.macros"/>).
+</para>
+
 <para>
   There are also various third party memory tracing and debug utilities
   that can be used to provide detailed memory allocation information
@@ -331,22 +327,45 @@
 
 </section>
 
-<section xml:id="debug.exceptions"><info><title>Tracking uncaught 
exceptions</title></info>
+<section xml:id="debug.req"><info><title>Debug Versions of Library Binary 
Files</title></info>
 
 <para>
-  The <link linkend="support.termination.verbose">verbose
-  termination handler</link> gives information about uncaught
-  exceptions which kill the program.
+  As described above, libstdc++ is built with debug symbols enabled by default,
+  but because it's also built with optimizations the code can be hard to
+  follow when stepping into the library in a debugger.
 </para>
-</section>
 
-<section xml:id="debug.debug_mode"><info><title>Debug Mode</title></info>
+<para>
+  If you would like to debug <filename>libstdc++.so</filename> itself,
+  there are two ways to build an unoptimized libstdc++ with debug flags.
+  The first is to create a separate debug build by running make from the
+  top-level of a tree freshly-configured with
+</para>
+<programlisting>
+     --enable-libstdcxx-debug
+</programlisting>
+<para>and perhaps</para>
+<programlisting>
+     --enable-libstdcxx-debug-flags='...'
+</programlisting>
+<para>
+  Both the normal build and the debug build will persist, without
+  having to specify <code>CXXFLAGS</code>, and the debug library will
+  be installed in a separate directory tree, in 
<code>(prefix)/lib/debug</code>.
+  For more information, look at the
+  <link linkend="manual.intro.setup.configure">configuration</link> section.
+</para>
+
+<para>
+  A second approach is to use the configuration flags
+</para>
+<programlisting>
+     make CXXFLAGS='-g3 -fno-inline -O0' all
+</programlisting>
 
-  <para> The <link linkend="manual.ext.debug_mode">Debug Mode</link>
-  has compile and run-time checks for many containers.
-  </para>
 </section>
 
+
 <section xml:id="debug.compile_time_checks"><info><title>Compile Time 
Checking</title></info>
 
   <para> The <link linkend="manual.ext.compile_checks">Compile-Time
diff --git a/libstdc++-v3/doc/xml/manual/using.xml 
b/libstdc++-v3/doc/xml/manual/using.xml
index b3b0c368e44..8ac7e74034c 100644
--- a/libstdc++-v3/doc/xml/manual/using.xml
+++ b/libstdc++-v3/doc/xml/manual/using.xml
@@ -1341,7 +1341,7 @@ g++ -Winvalid-pch -I. -include stdc++.h -H -g -O2 
hello.cc -o test.exe
         or <classname>malloc_allocator</classname></link>. The annotations
         must be present on all vector operations or none, so this macro must
         be defined to the same value for all translation units that create,
-        destroy or modify vectors.
+        destroy, or modify vectors.
       </para>
     </listitem></varlistentry>
     </variablelist>

Reply via email to