From 1492a408f9ac54c60646070553a63bf790d83d2e Mon Sep 17 00:00:00 2001
From: Jonathan Wakely
diff --git a/libstdc++-v3/doc/html/faq.html b/libstdc++-v3/doc/html/faq.html index d4164198abc..3b728c23e34 100644 --- a/libstdc++-v3/doc/html/faq.html +++ b/libstdc++-v3/doc/html/faq.html @@ -3,7 +3,7 @@ 2008, 2010 FSF -
+ If you already have an older version of libstdc++ installed then the + error might look like one of the following instead: +
+ ./a.out: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.20' not found + ./a.out: /usr/lib/libstdc++.so.6: version `CXXABI_1.3.8' not found +
+ This means the linker found /usr/lib/libstdc++.so.6
+ but that library belongs to an older version of GCC than was used to
+ compile and link the program a.out
(or some part
+ of it). The program depends on code defined in the newer libstdc++
+ that belongs to the newer version of GCC, so the linker must be told
+ how to find the newer libstdc++ shared library.
+
+ The simplest way to fix this is
to use the LD_LIBRARY_PATH
environment variable,
which is a colon-separated list of directories in which the linker
will search for shared libraries:
@@ -304,6 +319,11 @@
LD_LIBRARY_PATH=${prefix}/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
+ Here the shell variable ${prefix} is assumed to contain
+ the directory prefix where GCC was installed to. The directory containing
+ the library might depend on whether you want the 32-bit or 64-bit copy
+ of the library, so for example would be
+ ${prefix}/lib64
on some systems.
The exact environment variable to use will depend on your
platform, e.g. DYLD_LIBRARY_PATH for Darwin,
LD_LIBRARY_PATH_32/LD_LIBRARY_PATH_64 for Solaris 32-/64-bit
@@ -312,7 +332,8 @@
See the man pages for ld, ldd
and ldconfig for more information. The dynamic
linker has different names on different platforms but the man page
- is usually called something such as ld.so/rtld/dld.so
.
+ is usually called something such as ld.so
,
+ rtld
or dld.so
.
Using LD_LIBRARY_PATH is not always the best solution, Finding Dynamic or Shared Libraries in the manual gives some alternatives. @@ -511,6 +532,7 @@ C++98, TR1, and C++11. + C++14.
5.2.
Bugs in the ISO C++ language or library specification
diff --git a/libstdc++-v3/doc/html/index.html b/libstdc++-v3/doc/html/index.html index 363c9a35dd4..0f70a518a03 100644 --- a/libstdc++-v3/doc/html/index.html +++ b/libstdc++-v3/doc/html/index.html @@ -1,6 +1,6 @@ -
Short Contents
- Copyright (C) 2008-2013 +
Table of Contents
This corresponds to the mapfile: gcc/libgcc-std.ver
GCC 3.0.0: GCC_3.0
GCC 3.3.0: GCC_3.3
GCC 3.3.1: GCC_3.3.1
GCC 3.3.2: GCC_3.3.2
GCC 3.3.4: GCC_3.3.4
GCC 3.4.0: GCC_3.4
GCC 3.4.2: GCC_3.4.2
GCC 3.4.4: GCC_3.4.4
GCC 4.0.0: GCC_4.0.0
GCC 4.1.0: GCC_4.1.0
GCC 4.2.0: GCC_4.2.0
GCC 4.3.0: GCC_4.3.0
GCC 4.4.0: GCC_4.4.0
GCC 4.5.0: GCC_4.5.0
GCC 4.6.0: GCC_4.6.0
GCC 4.7.0: GCC_4.7.0
+ release.
This corresponds to the mapfile: gcc/libgcc-std.ver
GCC 3.0.0: GCC_3.0
GCC 3.3.0: GCC_3.3
GCC 3.3.1: GCC_3.3.1
GCC 3.3.2: GCC_3.3.2
GCC 3.3.4: GCC_3.3.4
GCC 3.4.0: GCC_3.4
GCC 3.4.2: GCC_3.4.2
GCC 3.4.4: GCC_3.4.4
GCC 4.0.0: GCC_4.0.0
GCC 4.1.0: GCC_4.1.0
GCC 4.2.0: GCC_4.2.0
GCC 4.3.0: GCC_4.3.0
GCC 4.4.0: GCC_4.4.0
GCC 4.5.0: GCC_4.5.0
GCC 4.6.0: GCC_4.6.0
GCC 4.7.0: GCC_4.7.0
GCC 4.8.0: GCC_4.8.0
Release versioning on the libstdc++.so binary, implemented in
the same way as the libgcc_s.so binary above. Listed is the
filename: DT_SONAME
can be deduced from
@@ -111,7 +111,7 @@ compatible.
has the same filename and DT_SONAME
as the
preceding release.
It is versioned as follows: -
GCC 3.0.0: libstdc++.so.3.0.0
GCC 3.0.1: libstdc++.so.3.0.1
GCC 3.0.2: libstdc++.so.3.0.2
GCC 3.0.3: libstdc++.so.3.0.2 (See Note 1)
GCC 3.0.4: libstdc++.so.3.0.4
GCC 3.1.0: libstdc++.so.4.0.0 (Incompatible with previous)
GCC 3.1.1: libstdc++.so.4.0.1
GCC 3.2.0: libstdc++.so.5.0.0 (Incompatible with previous)
GCC 3.2.1: libstdc++.so.5.0.1
GCC 3.2.2: libstdc++.so.5.0.2
GCC 3.2.3: libstdc++.so.5.0.3 (See Note 2)
GCC 3.3.0: libstdc++.so.5.0.4
GCC 3.3.1: libstdc++.so.5.0.5
GCC 3.4.0: libstdc++.so.6.0.0 (Incompatible with previous)
GCC 3.4.1: libstdc++.so.6.0.1
GCC 3.4.2: libstdc++.so.6.0.2
GCC 3.4.3: libstdc++.so.6.0.3
GCC 4.0.0: libstdc++.so.6.0.4
GCC 4.0.1: libstdc++.so.6.0.5
GCC 4.0.2: libstdc++.so.6.0.6
GCC 4.0.3: libstdc++.so.6.0.7
GCC 4.1.0: libstdc++.so.6.0.7
GCC 4.1.1: libstdc++.so.6.0.8
GCC 4.2.0: libstdc++.so.6.0.9
GCC 4.2.1: libstdc++.so.6.0.9 (See Note 3)
GCC 4.2.2: libstdc++.so.6.0.9
GCC 4.3.0: libstdc++.so.6.0.10
GCC 4.4.0: libstdc++.so.6.0.11
GCC 4.4.1: libstdc++.so.6.0.12
GCC 4.4.2: libstdc++.so.6.0.13
GCC 4.5.0: libstdc++.so.6.0.14
GCC 4.6.0: libstdc++.so.6.0.15
GCC 4.6.1: libstdc++.so.6.0.16
GCC 4.7.0: libstdc++.so.6.0.17
GCC 4.8.0: libstdc++.so.6.0.18
+
GCC 3.0.0: libstdc++.so.3.0.0
GCC 3.0.1: libstdc++.so.3.0.1
GCC 3.0.2: libstdc++.so.3.0.2
GCC 3.0.3: libstdc++.so.3.0.2 (See Note 1)
GCC 3.0.4: libstdc++.so.3.0.4
GCC 3.1.0: libstdc++.so.4.0.0 (Incompatible with previous)
GCC 3.1.1: libstdc++.so.4.0.1
GCC 3.2.0: libstdc++.so.5.0.0 (Incompatible with previous)
GCC 3.2.1: libstdc++.so.5.0.1
GCC 3.2.2: libstdc++.so.5.0.2
GCC 3.2.3: libstdc++.so.5.0.3 (See Note 2)
GCC 3.3.0: libstdc++.so.5.0.4
GCC 3.3.1: libstdc++.so.5.0.5
GCC 3.4.0: libstdc++.so.6.0.0 (Incompatible with previous)
GCC 3.4.1: libstdc++.so.6.0.1
GCC 3.4.2: libstdc++.so.6.0.2
GCC 3.4.3: libstdc++.so.6.0.3
GCC 4.0.0: libstdc++.so.6.0.4
GCC 4.0.1: libstdc++.so.6.0.5
GCC 4.0.2: libstdc++.so.6.0.6
GCC 4.0.3: libstdc++.so.6.0.7
GCC 4.1.0: libstdc++.so.6.0.7
GCC 4.1.1: libstdc++.so.6.0.8
GCC 4.2.0: libstdc++.so.6.0.9
GCC 4.2.1: libstdc++.so.6.0.9 (See Note 3)
GCC 4.2.2: libstdc++.so.6.0.9
GCC 4.3.0: libstdc++.so.6.0.10
GCC 4.4.0: libstdc++.so.6.0.11
GCC 4.4.1: libstdc++.so.6.0.12
GCC 4.4.2: libstdc++.so.6.0.13
GCC 4.5.0: libstdc++.so.6.0.14
GCC 4.6.0: libstdc++.so.6.0.15
GCC 4.6.1: libstdc++.so.6.0.16
GCC 4.7.0: libstdc++.so.6.0.17
GCC 4.8.0: libstdc++.so.6.0.18
GCC 4.8.3: libstdc++.so.6.0.19
GCC 4.9.0: libstdc++.so.6.0.20
Note 1: Error should be libstdc++.so.3.0.3.
Note 2: Not strictly required. @@ -129,7 +129,7 @@ compatible. GLIBCPP_3.2 for symbols that were introduced in the GCC 3.2.0 release.) If a particular release is not listed, it has the same version labels as the preceding release. -
GCC 3.0.0: (Error, not versioned)
GCC 3.0.1: (Error, not versioned)
GCC 3.0.2: (Error, not versioned)
GCC 3.0.3: (Error, not versioned)
GCC 3.0.4: (Error, not versioned)
GCC 3.1.0: GLIBCPP_3.1, CXXABI_1
GCC 3.1.1: GLIBCPP_3.1, CXXABI_1
GCC 3.2.0: GLIBCPP_3.2, CXXABI_1.2
GCC 3.2.1: GLIBCPP_3.2.1, CXXABI_1.2
GCC 3.2.2: GLIBCPP_3.2.2, CXXABI_1.2
GCC 3.2.3: GLIBCPP_3.2.2, CXXABI_1.2
GCC 3.3.0: GLIBCPP_3.2.2, CXXABI_1.2.1
GCC 3.3.1: GLIBCPP_3.2.3, CXXABI_1.2.1
GCC 3.3.2: GLIBCPP_3.2.3, CXXABI_1.2.1
GCC 3.3.3: GLIBCPP_3.2.3, CXXABI_1.2.1
GCC 3.4.0: GLIBCXX_3.4, CXXABI_1.3
GCC 3.4.1: GLIBCXX_3.4.1, CXXABI_1.3
GCC 3.4.2: GLIBCXX_3.4.2
GCC 3.4.3: GLIBCXX_3.4.3
GCC 4.0.0: GLIBCXX_3.4.4, CXXABI_1.3.1
GCC 4.0.1: GLIBCXX_3.4.5
GCC 4.0.2: GLIBCXX_3.4.6
GCC 4.0.3: GLIBCXX_3.4.7
GCC 4.1.1: GLIBCXX_3.4.8
GCC 4.2.0: GLIBCXX_3.4.9
GCC 4.3.0: GLIBCXX_3.4.10, CXXABI_1.3.2
GCC 4.4.0: GLIBCXX_3.4.11, CXXABI_1.3.3
GCC 4.4.1: GLIBCXX_3.4.12, CXXABI_1.3.3
GCC 4.4.2: GLIBCXX_3.4.13, CXXABI_1.3.3
GCC 4.5.0: GLIBCXX_3.4.14, CXXABI_1.3.4
GCC 4.6.0: GLIBCXX_3.4.15, CXXABI_1.3.5
GCC 4.6.1: GLIBCXX_3.4.16, CXXABI_1.3.5
GCC 4.7.0: GLIBCXX_3.4.17, CXXABI_1.3.6
GCC 4.8.0: GLIBCXX_3.4.18, CXXABI_1.3.7
Incremental bumping of a compiler pre-defined macro, +
GCC 3.0.0: (Error, not versioned)
GCC 3.0.1: (Error, not versioned)
GCC 3.0.2: (Error, not versioned)
GCC 3.0.3: (Error, not versioned)
GCC 3.0.4: (Error, not versioned)
GCC 3.1.0: GLIBCPP_3.1, CXXABI_1
GCC 3.1.1: GLIBCPP_3.1, CXXABI_1
GCC 3.2.0: GLIBCPP_3.2, CXXABI_1.2
GCC 3.2.1: GLIBCPP_3.2.1, CXXABI_1.2
GCC 3.2.2: GLIBCPP_3.2.2, CXXABI_1.2
GCC 3.2.3: GLIBCPP_3.2.2, CXXABI_1.2
GCC 3.3.0: GLIBCPP_3.2.2, CXXABI_1.2.1
GCC 3.3.1: GLIBCPP_3.2.3, CXXABI_1.2.1
GCC 3.3.2: GLIBCPP_3.2.3, CXXABI_1.2.1
GCC 3.3.3: GLIBCPP_3.2.3, CXXABI_1.2.1
GCC 3.4.0: GLIBCXX_3.4, CXXABI_1.3
GCC 3.4.1: GLIBCXX_3.4.1, CXXABI_1.3
GCC 3.4.2: GLIBCXX_3.4.2
GCC 3.4.3: GLIBCXX_3.4.3
GCC 4.0.0: GLIBCXX_3.4.4, CXXABI_1.3.1
GCC 4.0.1: GLIBCXX_3.4.5
GCC 4.0.2: GLIBCXX_3.4.6
GCC 4.0.3: GLIBCXX_3.4.7
GCC 4.1.1: GLIBCXX_3.4.8
GCC 4.2.0: GLIBCXX_3.4.9
GCC 4.3.0: GLIBCXX_3.4.10, CXXABI_1.3.2
GCC 4.4.0: GLIBCXX_3.4.11, CXXABI_1.3.3
GCC 4.4.1: GLIBCXX_3.4.12, CXXABI_1.3.3
GCC 4.4.2: GLIBCXX_3.4.13, CXXABI_1.3.3
GCC 4.5.0: GLIBCXX_3.4.14, CXXABI_1.3.4
GCC 4.6.0: GLIBCXX_3.4.15, CXXABI_1.3.5
GCC 4.6.1: GLIBCXX_3.4.16, CXXABI_1.3.5
GCC 4.7.0: GLIBCXX_3.4.17, CXXABI_1.3.6
GCC 4.8.0: GLIBCXX_3.4.18, CXXABI_1.3.7
GCC 4.8.3: GLIBCXX_3.4.19, CXXABI_1.3.7
GCC 4.9.0: GLIBCXX_3.4.20, CXXABI_1.3.8
Incremental bumping of a compiler pre-defined macro, __GXX_ABI_VERSION. This macro is defined as the version of the compiler v3 ABI, with g++ 3.0 being version 100. This macro will be automatically defined whenever g++ is used (the curious can @@ -493,39 +493,39 @@ gcc test.c -g -O2 -L. -lone -ltwo /usr/lib/libstdc++.so.5 /usr/lib/libstdc++.so. C++ ABI Summary - .
Dynamic Shared Objects: Survey and Issues . ISO C++ J16/06-0046 - .
Versioning With Namespaces . ISO C++ J16/06-0083 - .
Binary Compatibility of Shared Libraries Implemented in C++
on GNU/Linux Systems
diff --git a/libstdc++-v3/doc/html/manual/algorithms.html b/libstdc++-v3/doc/html/manual/algorithms.html
index 89a5113430f..740ab2b9f6c 100644
--- a/libstdc++-v3/doc/html/manual/algorithms.html
+++ b/libstdc++-v3/doc/html/manual/algorithms.html
@@ -6,7 +6,7 @@
Standard Contents
Next
Table of Contents
The neatest accomplishment of the algorithms section is that all the work is done via iterators, not containers directly. This means two diff --git a/libstdc++-v3/doc/html/manual/api.html b/libstdc++-v3/doc/html/manual/api.html index af6af248972..ceca6391f70 100644 --- a/libstdc++-v3/doc/html/manual/api.html +++ b/libstdc++-v3/doc/html/manual/api.html @@ -77,11 +77,11 @@ _Alloc_traits have been removed. __alloc to select an underlying allocator that satisfied memory allocation requests. The selection of this underlying allocator was not user-configurable. -
Table B.6. Extension Allocators
Allocator (3.4) | Header (3.4) | Allocator (3.[0-3]) | Header (3.[0-3]) |
---|---|---|---|
__gnu_cxx::new_allocator<T> | ext/new_allocator.h | std::__new_alloc | memory |
__gnu_cxx::malloc_allocator<T> | ext/malloc_allocator.h | std::__malloc_alloc_template<int> | memory |
__gnu_cxx::debug_allocator<T> | ext/debug_allocator.h | std::debug_alloc<T> | memory |
__gnu_cxx::__pool_alloc<T> | ext/pool_allocator.h | std::__default_alloc_template<bool,int> | memory |
__gnu_cxx::__mt_alloc<T> | ext/mt_allocator.h | ||
__gnu_cxx::bitmap_allocator<T> | ext/bitmap_allocator.h |
Releases after gcc-3.4 have continued to add to the collection +
Table B.6. Extension Allocators
Allocator (3.4) | Header (3.4) | Allocator (3.[0-3]) | Header (3.[0-3]) |
---|---|---|---|
__gnu_cxx::new_allocator<T> | ext/new_allocator.h | std::__new_alloc | memory |
__gnu_cxx::malloc_allocator<T> | ext/malloc_allocator.h | std::__malloc_alloc_template<int> | memory |
__gnu_cxx::debug_allocator<T> | ext/debug_allocator.h | std::debug_alloc<T> | memory |
__gnu_cxx::__pool_alloc<T> | ext/pool_allocator.h | std::__default_alloc_template<bool,int> | memory |
__gnu_cxx::__mt_alloc<T> | ext/mt_allocator.h | ||
__gnu_cxx::bitmap_allocator<T> | ext/bitmap_allocator.h |
Releases after gcc-3.4 have continued to add to the collection of available allocators. All of these new allocators are standard-style. The following table includes details, along with the first released version of GCC that included the extension allocator. -
Table B.7. Extension Allocators Continued
Allocator | Include | Version |
---|---|---|
__gnu_cxx::array_allocator<T> | ext/array_allocator.h | 4.0.0 |
__gnu_cxx::throw_allocator<T> | ext/throw_allocator.h | 4.2.0 |
+
Table B.7. Extension Allocators Continued
Allocator | Include | Version |
---|---|---|
__gnu_cxx::array_allocator<T> | ext/array_allocator.h | 4.0.0 |
__gnu_cxx::throw_allocator<T> | ext/throw_allocator.h | 4.2.0 |
Debug mode first appears.
Precompiled header support PCH support. diff --git a/libstdc++-v3/doc/html/manual/appendix_contributing.html b/libstdc++-v3/doc/html/manual/appendix_contributing.html index fb30f361707..ec3264948e7 100644 --- a/libstdc++-v3/doc/html/manual/appendix_contributing.html +++ b/libstdc++-v3/doc/html/manual/appendix_contributing.html @@ -6,7 +6,7 @@ Appendices
Table of Contents
The GNU C++ Library is part of GCC and follows the same development model, so the general rules for diff --git a/libstdc++-v3/doc/html/manual/appendix_free.html b/libstdc++-v3/doc/html/manual/appendix_free.html index 0976a43d507..27df3aa2ba2 100644 --- a/libstdc++-v3/doc/html/manual/appendix_free.html +++ b/libstdc++-v3/doc/html/manual/appendix_free.html @@ -6,7 +6,7 @@ Appendices
The biggest deficiency in free operating systems is not in the software--it is the lack of good free manuals that we can include in diff --git a/libstdc++-v3/doc/html/manual/appendix_gpl.html b/libstdc++-v3/doc/html/manual/appendix_gpl.html index 58e45adfcfa..257a2fc4762 100644 --- a/libstdc++-v3/doc/html/manual/appendix_gpl.html +++ b/libstdc++-v3/doc/html/manual/appendix_gpl.html @@ -77,7 +77,7 @@
The precise terms and conditions for copying, distribution and modification follow. -
Table of Contents
Regenerate all generated files by using the command
autoreconf
at the top level of the libstdc++ source
directory.
@@ -90,13 +90,13 @@ in the build directory starts the build process. The all
Most comments should use {octothorpes, shibboleths, hash marks,
pound signs, whatever} rather than "dnl". Nearly all comments in
- configure.ac should. Comments inside macros written in ancilliary
+ configure.ac should. Comments inside macros written in ancillary
.m4 files should. About the only comments which should
not use #, but use dnl instead, are comments
- outside our own macros in the ancilliary
+ outside our own macros in the ancillary
files. The difference is that # comments show up in
configure
(which is most helpful for debugging),
- while dnl'd lines just vanish. Since the macros in ancilliary
+ while dnl'd lines just vanish. Since the macros in ancillary
files generate code which appears in odd places, their "outside"
comments tend to not be useful while reading
configure
.
@@ -280,7 +280,7 @@ in the build directory starts the build process. The all
make src
Generates two convenience libraries, one for C++98 and one for - C++11, various compability files for shared and static + C++11, various compatibility files for shared and static libraries, and then collects all the generated bits and creates the final libstdc++ libraries.
diff --git a/libstdc++-v3/doc/html/manual/atomics.html b/libstdc++-v3/doc/html/manual/atomics.html index 7e0a7439cf5..4ac12fe5665 100644 --- a/libstdc++-v3/doc/html/manual/atomics.html +++ b/libstdc++-v3/doc/html/manual/atomics.html @@ -6,7 +6,7 @@ Standard Contents
Table of Contents
Facilities for atomic operations.
diff --git a/libstdc++-v3/doc/html/manual/backwards.html b/libstdc++-v3/doc/html/manual/backwards.html index 44faea91e8f..7373c34ece6 100644 --- a/libstdc++-v3/doc/html/manual/backwards.html +++ b/libstdc++-v3/doc/html/manual/backwards.html @@ -512,16 +512,23 @@ AC_DEFUN([AC_HEADER_EXT_HASH_SET], [ fi ])
The existence of ios::nocreate
being used for
-input-streams has been confirmed, most probably because the author
-thought it would be more correct to specify nocreate explicitly. So
-it can be left out for input-streams.
-
For output streams, “nocreate” is probably the default,
-unless you specify std::ios::trunc
? To be safe, you can
-open the file for reading, check if it has been opened, and then
-decide whether you want to create/replace or not. To my knowledge,
-even older implementations support app
, ate
-and trunc
(except for app
?).
+
Historically these flags were used with iostreams to control whether
+new files are created or not when opening a file stream, similar to the
+O_CREAT
and O_EXCL
flags for the
+open(2)
system call. Because iostream modes correspond
+to fopen(3)
modes these flags are not supported.
+For input streams a new file will not be created anyway, so
+ios::nocreate
is not needed.
+For output streams, a new file will be created if it does not exist, which is
+consistent with the behaviour of fopen
.
+
When one of these flags is needed a possible alternative is to attempt
+to open the file using std::ifstream first to determine whether
+the file already exists or not. This may not be reliable however, because
+whether the file exists or not could change between opening the
+std::istream and re-opening with an output stream. If you need
+to check for existence and open a file as a single operation then you will
+need to use OS-specific facilities outside the C++ standard library, such
+as open(2)
.
@@ -940,15 +947,15 @@ AC_DEFUN([AC_HEADER_UNORDERED_SET], [ This is a change in behavior from older versions. Now, most iterator_type typedefs in container classes are POD objects, not value_type pointers. -
Migration guide for GCC-3.2 diff --git a/libstdc++-v3/doc/html/manual/bitmap_allocator_impl.html b/libstdc++-v3/doc/html/manual/bitmap_allocator_impl.html index 945add65b7a..610df2a1c35 100644 --- a/libstdc++-v3/doc/html/manual/bitmap_allocator_impl.html +++ b/libstdc++-v3/doc/html/manual/bitmap_allocator_impl.html @@ -75,7 +75,7 @@ else return false.
Consider a block of size 64 ints. In memory, it would look like this: (assume a 32-bit system where, size_t is a 32-bit entity). -
+
The first Column(268) represents the size of the Block in bytes as seen by the Bitmap Allocator. Internally, a global free list is used to keep track of the free blocks used and given back by the diff --git a/libstdc++-v3/doc/html/manual/bugs.html b/libstdc++-v3/doc/html/manual/bugs.html index e9301d99bf3..86831e8e124 100644 --- a/libstdc++-v3/doc/html/manual/bugs.html +++ b/libstdc++-v3/doc/html/manual/bugs.html @@ -338,9 +338,6 @@
Add the overload. -
In C++11 mode, remove the pow(complex<T>, int) signature.
Update / add the signatures. diff --git a/libstdc++-v3/doc/html/manual/concurrency.html b/libstdc++-v3/doc/html/manual/concurrency.html index bd2d0a029b0..639524d60f4 100644 --- a/libstdc++-v3/doc/html/manual/concurrency.html +++ b/libstdc++-v3/doc/html/manual/concurrency.html @@ -6,7 +6,7 @@ Standard Contents
Table of Contents
Facilities for concurrent operation, and control thereof.
diff --git a/libstdc++-v3/doc/html/manual/configure.html b/libstdc++-v3/doc/html/manual/configure.html index 5526dee44f2..eb8b26e36da 100644 --- a/libstdc++-v3/doc/html/manual/configure.html +++ b/libstdc++-v3/doc/html/manual/configure.html @@ -224,7 +224,14 @@ to standard error for certain events such as calling a pure virtual function or the invocation of the standard terminate handler. Those messages cause the library to depend on the demangler and standard I/O - facilites, which might be undesirable in a low-memory environment or + facilities, which might be undesirable in a low-memory environment or when standard error is not available. This option disables those messages. This option does not change the library ABI. -
--enable-vtable-verify
[default]Use -fvtable-verify=std
to compile the C++
+ runtime with instrumentation for vtable verification. All virtual
+ functions in the standard library will be verified at runtime.
+ Types impacted include locale
and
+ iostream
, and others. Disabling means that
+ the C++ runtime is compiled without support for vtable
+ verification. By default, this option is off.
+
Table of Contents
Table of Contents
Yes it is, and that's okay. This is a decision that we preserved when we imported SGI's STL implementation. The following is quoted from their FAQ: diff --git a/libstdc++-v3/doc/html/manual/debug.html b/libstdc++-v3/doc/html/manual/debug.html index 458a1379e7d..6e4fea8094a 100644 --- a/libstdc++-v3/doc/html/manual/debug.html +++ b/libstdc++-v3/doc/html/manual/debug.html @@ -178,8 +178,8 @@ recommended: the other parts of this manual.
These settings can either be switched on in at the GDB command line,
- or put into a .gdbint file to establish default debugging
- characteristics, like so:
+ or put into a .gdbinit
file to establish default
+ debugging characteristics, like so:
set print pretty on set print object on @@ -189,32 +189,22 @@ set demangle-style gnu-v3
Starting with version 7.0, GDB includes support for writing - pretty-printers in Python. Pretty printers for STL classes are - distributed with GCC from version 4.5.0. The most recent version of - these printers are always found in libstdc++ svn repository. - To enable these printers, check-out the latest printers to a local - directory: -
- svn co svn://gcc.gnu.org/svn/gcc/trunk/libstdc++-v3/python -
- Next, add the following section to your ~/.gdbinit The path must - match the location where the Python module above was checked-out. - So if checked out to: /home/maude/gdb_printers/, the path would be as - written in the example below. -
- python - import sys - sys.path.insert(0, '/home/maude/gdb_printers/python') - from libstdcxx.v6.printers import register_libstdcxx_printers - register_libstdcxx_printers (None) - end -
- The path should be the only element that needs to be adjusted in the - example. Once loaded, STL classes that the printers support + pretty-printers in Python. Pretty printers for containers and other + classes are distributed with GCC from version 4.5.0 and should be installed + alongside the libstdc++ shared library files and found automatically by + GDB. +
+ Depending where libstdc++ is installed, GDB might refuse to auto-load
+ the python printers and print a warning instead.
+ If this happens the python printers can be enabled by following the
+ instructions GDB gives for setting your auto-load safe-path
+ in your .gdbinit
configuration file.
+
+ Once loaded, standard library classes that the printers support
should print in a more human-readable format. To print the classes
- in the old style, use the /r (raw) switch in the print command
- (i.e., print /r foo). This will print the classes as if the Python
- pretty-printers were not loaded.
+ in the old style, use the /r
(raw) switch in the
+ print command (i.e., print /r foo
). This will
+ print the classes as if the Python pretty-printers were not loaded.
For additional information on STL support and GDB please visit: "GDB Support @@ -227,14 +217,13 @@
The verbose termination handler gives information about uncaught - exceptions which are killing the program. It is described in the - linked-to page. + exceptions which kill the program.
The Debug Mode has compile and run-time checks for many containers.
The Compile-Time - Checks Extension has compile-time checks for many algorithms. + Checks extension has compile-time checks for many algorithms.
The Profile-based - Performance Analysis Extension has performance checks for many + Performance Analysis extension has performance checks for many algorithms.