From 52556a878d77b0b6c8ad680c79d5a3db14503a42 Mon Sep 17 00:00:00 2001
From: Jonathan Wakely
License
diff --git a/libstdc++-v3/doc/html/faq.html b/libstdc++-v3/doc/html/faq.html
index 77ccac1ecd2..eaabb7fced9 100644
--- a/libstdc++-v3/doc/html/faq.html
+++ b/libstdc++-v3/doc/html/faq.html
@@ -2,7 +2,7 @@
Libstdc++-v3 incorporates a lot of code from
- the SGI STL
+ the SGI STL
(the final merge was from
- release 3.3).
+ release 3.3).
The code in libstdc++ contains many fixes and changes compared to the
original SGI code.
@@ -814,7 +814,7 @@
and backwards
compatibility documentation.
- The FAQ
+ The FAQ
for SGI's STL is still recommended reading.
7.4.
Extensions and Backward Compatibility
diff --git a/libstdc++-v3/doc/html/index.html b/libstdc++-v3/doc/html/index.html
index 3fd02193278..30f0145607a 100644
--- a/libstdc++-v3/doc/html/index.html
+++ b/libstdc++-v3/doc/html/index.html
@@ -1,7 +1,7 @@
Short Contents
Copyright (C) 2008-2018
- FSF
+ FSF
Permission is granted to copy, distribute and/or modify this
@@ -142,7 +142,7 @@
Existing tests
C++ includes are versioned as follows:
- GCC 3.0.0: include/g++-v3 GCC 3.0.1: include/g++-v3 GCC 3.0.2: include/g++-v3 GCC 3.0.3: include/g++-v3 GCC 3.0.4: include/g++-v3 GCC 3.1.0: include/g++-v3 GCC 3.1.1: include/c++/3.1.1 GCC 3.2.0: include/c++/3.2 GCC 3.2.1: include/c++/3.2.1 GCC 3.2.2: include/c++/3.2.2 GCC 3.2.3: include/c++/3.2.3 GCC 3.3.0: include/c++/3.3 GCC 3.3.1: include/c++/3.3.1 GCC 3.3.2: include/c++/3.3.2 GCC 3.3.3: include/c++/3.3.3 GCC 3.4.x: include/c++/3.4.x GCC 4.x.y: include/c++/4.x.y GCC 5.x.0: include/c++/5.x.0
+ GCC 3.0.0: include/g++-v3 GCC 3.0.1: include/g++-v3 GCC 3.0.2: include/g++-v3 GCC 3.0.3: include/g++-v3 GCC 3.0.4: include/g++-v3 GCC 3.1.0: include/g++-v3 GCC 3.1.1: include/c++/3.1.1 GCC 3.2.0: include/c++/3.2 GCC 3.2.1: include/c++/3.2.1 GCC 3.2.2: include/c++/3.2.2 GCC 3.2.3: include/c++/3.2.3 GCC 3.3.0: include/c++/3.3 GCC 3.3.1: include/c++/3.3.1 GCC 3.3.2: include/c++/3.3.2 GCC 3.3.3: include/c++/3.3.3 GCC 3.4.x: include/c++/3.4.x GCC 4.x.y: include/c++/4.x.y GCC 5.x.0: include/c++/5.x.0 GCC 6.x.0: include/c++/6.x.0 GCC 7.x.0: include/c++/7.x.0 GCC 8.x.0: include/c++/8.x.0
Taken together, these techniques can accurately specify interface
and implementation changes in the GNU C++ tools themselves. Used
properly, they allow both the GNU C++ tools implementation, and
diff --git a/libstdc++-v3/doc/html/manual/api.html b/libstdc++-v3/doc/html/manual/api.html
index 3745fdc3d59..e2d3c62d29f 100644
--- a/libstdc++-v3/doc/html/manual/api.html
+++ b/libstdc++-v3/doc/html/manual/api.html
@@ -263,18 +263,21 @@ now defaults to zero.
New --enable-libstdcxx-verbose configure option
The --enable-libstdcxx-time configure option becomes unnecessary given a
sufficiently recent glibc.
- Implementation of C++14 library and TS implementations are added. Implementation of C++14 library and TS implementations are added.
ABI transition adds new implementations of several components, using the
Use of the new or old ABI can be selected per-translation unit with the
- _GLIBCXX_USE_CXX11_ABI macro.
+ Macros.
New non-reference-counted
New
+ New
C++11 support completed (movable iostreams, new I/O manipulators,
Unicode conversion utilities, atomic operations for
@@ -290,4 +293,67 @@ now defaults to zero.
C++14 support completed.
+ Support for mathematical special functions (ISO/IEC 29124:2010) added.
+
+ Assertions to check function preconditions can be enabled by defining the
+ Macros.
+ The initial set of assertions are a subset of the checks enabled by
+ the Debug Mode, but without the ABI changes and changes to algorithmic
+ complexity that are caused by enabling the full Debug Mode.
+
+ The type of exception thrown by iostreams changed to the
+ Experimental C++17 support added, including most new library features.
+ The meaning of
+ Macros added.
+
+ Profile Mode was deprecated.
+ The exceptions thrown by iostreams can now be caught by handlers for either
+ version of
+ Experimental implementation of the C++17 Filesystem library added.
+
+ AddressSanitizer annotations added to
+
+ The extension allowing arithmetic on
+
+ The
+ The nested typedefs std::hash::result_type and
+ std::hash::argument_type were deprecated for C++17 mode.
+
+ The deprecated iostream members ios_base::io_state,
+ ios_base::open_mode, ios_base::seek_dir, and
+
+ The non-standard C++0x
+ For
+ For the non-default
-[Note: We now maintain a web page
+[Note: We now maintain a web page
that lists free books available from other publishers].
Copyright © 2004, 2005, 2006, 2007 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA Verbatim copying and distribution of this entire article are
permitted worldwide, without royalty, in any medium, provided this
diff --git a/libstdc++-v3/doc/html/manual/appendix_porting.html b/libstdc++-v3/doc/html/manual/appendix_porting.html
index b3ee6517b19..15209b3a339 100644
--- a/libstdc++-v3/doc/html/manual/appendix_porting.html
+++ b/libstdc++-v3/doc/html/manual/appendix_porting.html
@@ -14,7 +14,7 @@
Existing tests
Table of Contents
Yes it is, at least using the Dual ABI, 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:
+ quoted from their FAQ:
The size() member function, for list and slist, takes time
proportional to the number of elements in the list. This was a
diff --git a/libstdc++-v3/doc/html/manual/debug_mode_design.html b/libstdc++-v3/doc/html/manual/debug_mode_design.html
index e24109f98bd..671e8dbb814 100644
--- a/libstdc++-v3/doc/html/manual/debug_mode_design.html
+++ b/libstdc++-v3/doc/html/manual/debug_mode_design.html
@@ -391,7 +391,7 @@ test02()
Hewlett-Packard STL. Though it inspired much work in this area, it
has not been kept up-to-date for use with modern compilers or C++
standard library implementations. STLport: STLport is a free
- implementation of the C++ standard library derived from the SGI implementation, and
+ implementation of the C++ standard library derived from the SGI implementation, and
ported to many other platforms. It includes a debug mode that uses a
wrapper model (that in some ways inspired the libstdc++ debug mode
design), although at the time of this writing the debug mode is
diff --git a/libstdc++-v3/doc/html/manual/documentation_hacking.html b/libstdc++-v3/doc/html/manual/documentation_hacking.html
index 274cdaca908..ec60d5e3408 100644
--- a/libstdc++-v3/doc/html/manual/documentation_hacking.html
+++ b/libstdc++-v3/doc/html/manual/documentation_hacking.html
@@ -527,7 +527,7 @@ make
Complete details on Docbook markup can be found in the
- DocBook Element Reference.
+ DocBook Element Reference.
An incomplete reference for HTML to Docbook conversion is
detailed in the table below.
Table B.4. HTML to Docbook XML Markup Comparison The Each of the associative containers map, multimap, set, and multiset
have a counterpart which uses a
- hashing
+ hashing
function to do the arranging, instead of a strict weak ordering
function. The classes take as one of their template parameters a
function object that will return the hash value; by default, an
instantiation of
- hash.
+ hash.
You should specialize this functor for your class, or define your own,
before trying to use one of the hashing classes.
The hashing classes support all the usual associative container
diff --git a/libstdc++-v3/doc/html/manual/index.html b/libstdc++-v3/doc/html/manual/index.html
index ec39379387d..b1a5103ba6c 100644
--- a/libstdc++-v3/doc/html/manual/index.html
+++ b/libstdc++-v3/doc/html/manual/index.html
@@ -1,6 +1,6 @@
- Copyright © 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017
- FSF
+ Copyright © 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018
+ FSF
Table of Contents [biblio.sgi_stl]
-
+
Standard Template Library Programmer's Guide
. (Thanks to James Kanze for assistance and suggestions on all of this.)
Another common operation is trimming off excess whitespace. Much
like transformations, this task is trivial with the use of string's
diff --git a/libstdc++-v3/doc/html/manual/test.html b/libstdc++-v3/doc/html/manual/test.html
index aed5a320b56..8edc4facb00 100644
--- a/libstdc++-v3/doc/html/manual/test.html
+++ b/libstdc++-v3/doc/html/manual/test.html
@@ -392,15 +392,23 @@ cat 27_io/objects/char/3_xin.in | a.out
+ Prior to GCC 7.1,
+ This is no longer needed, and should not be added to new tests.
The testsuite uses the DejaGnu framework to compile and run the tests.
Test cases are normal C++ files which contain special directives in
diff --git a/libstdc++-v3/doc/html/manual/using_concurrency.html b/libstdc++-v3/doc/html/manual/using_concurrency.html
index 62d0a0b5ba8..436be0e2f5e 100644
--- a/libstdc++-v3/doc/html/manual/using_concurrency.html
+++ b/libstdc++-v3/doc/html/manual/using_concurrency.html
@@ -40,7 +40,7 @@ The standard places requirements on the library to ensure that no data
races are caused by the library itself or by programs which use the
library correctly (as described below).
The C++11 memory model and library requirements are a more formal version
-of the SGI STL definition of thread safety, which the library used
+of the SGI STL definition of thread safety, which the library used
prior to the 2011 standard.
The library strives to be thread-safe when all of the following
conditions are met:
@@ -233,10 +233,10 @@ gcc version 4.1.2 20070925 (Red Hat 4.1.2-33)
threaded and non-threaded code), see Chapter 17.
Two excellent pages to read when working with the Standard C++
containers and threads are
- SGI's
- http://www.sgi.com/tech/stl/thread_safety.html and
- SGI's
- http://www.sgi.com/tech/stl/Allocators.html.
+ SGI's
+ https://web.archive.org/web/20171225062613/http://www.sgi.com/tech/stl/thread_safety.html and
+ SGI's
+ https://web.archive.org/web/20171225062613/http://www.sgi.com/tech/stl/Allocators.html.
However, please ignore all discussions about the user-level
configuration of the lock implementation inside the STL
container-memory allocator on those pages. For the sake of this
diff --git a/libstdc++-v3/doc/html/manual/utilities.html b/libstdc++-v3/doc/html/manual/utilities.html
index 3f8fadb3415..15c9a9d170a 100644
--- a/libstdc++-v3/doc/html/manual/utilities.html
+++ b/libstdc++-v3/doc/html/manual/utilities.html
@@ -11,6 +11,6 @@
get slightly the wrong idea. In the interest of not reinventing
the wheel, we will refer you to the introduction to the functor
concept written by SGI as part of their STL, in
- their
- http://www.sgi.com/tech/stl/functors.html.
+ their
+ https://web.archive.org/web/20171225062613/http://www.sgi.com/tech/stl/functors.html.
std::thread.
std:: not supportedisspace from <cctype> is a macro
vector::at, deque::at, string::atstd::char_traits<char>::eofstring::clearostream::form and istream::scan
extensions
diff --git a/libstdc++-v3/doc/html/manual/abi.html b/libstdc++-v3/doc/html/manual/abi.html
index d9dc9adb623..16723dee1bb 100644
--- a/libstdc++-v3/doc/html/manual/abi.html
+++ b/libstdc++-v3/doc/html/manual/abi.html
@@ -226,7 +226,7 @@ compatible.
file's macro GLIBCXX_CONFIGURE (GLIBCPP_CONFIGURE before GCC 3.4.0).
regex completed. copy_exception deprecated. __gnu_cxx::array_allocator deprecated. regex completed. copy_exception deprecated. __gnu_cxx::array_allocator deprecated. abi_tag attribute and the __cxx11 inline
namespace to distinguish the new entities from the old ones.
string implementation.
list implementation containing a new
data member in order to provide O(1) size().
+ ios_base::failure implementation inheriting
+ from system_error.
has_trivial_default_constructor,
has_trivial_copy_constructor and
has_trivial_copy_assign deprecated.
+cxx11
+ ABI version of std::ios_base::failure.
+shared_ptr<T[]> changed to
+ match the C++17 semantics.
+has_trivial_default_constructor,
+ has_trivial_copy_constructor and
+ has_trivial_copy_assign removed.
+std::ios_base::failure.
+std::vector
+ to detect out-of-range accesses to the unused capacity of a vector.
+std::char_traits<char16_t>::to_int_type(u'\uFFFF')
+ now returns 0xFFFD, as 0xFFFF is
+ used for std::char_traits<char16_t>::eof().
+std::atomic<void*> and types like
+ std::atomic<R(*)()> was deprecated.
+std::uncaught_exception function was deprecated
+ for C++17 mode.
+basic_streambuf::stossc were removed for C++17 mode.
+std::copy_exception function
+ was removed.
+-std=c++11, -std=c++14, and
+ -std=c++17 modes the <complex.h>
+ header no longer includes the C99 <complex.h>
+ header.
+--enable-symvers=gnu-versioned-namespace
+ configuration, the shared library SONAME has been changed to
+ libstdc++.so.8.
std:: not supportedisspace from <cctype> is a macro
vector::at, deque::at, string::atstd::char_traits<char>::eofstring::clearostream::form and istream::scan
extensions
diff --git a/libstdc++-v3/doc/html/manual/appendix_free.html b/libstdc++-v3/doc/html/manual/appendix_free.html
index f7d0e5efdaa..b10283f78a2 100644
--- a/libstdc++-v3/doc/html/manual/appendix_free.html
+++ b/libstdc++-v3/doc/html/manual/appendix_free.html
@@ -116,7 +116,7 @@ manuals instead of proprietary ones. One way you can help this is to
check the distribution terms of a manual before you buy it, and
prefer copylefted manuals to non-copylefted ones.
std:: not supportedisspace from <cctype> is a macro
vector::at, deque::at, string::atstd::char_traits<char>::eofstring::clearostream::form and istream::scan
extensions
diff --git a/libstdc++-v3/doc/html/manual/backwards.html b/libstdc++-v3/doc/html/manual/backwards.html
index 31cbe01e6e0..2758f34d858 100644
--- a/libstdc++-v3/doc/html/manual/backwards.html
+++ b/libstdc++-v3/doc/html/manual/backwards.html
@@ -331,7 +331,7 @@ particular âinfo iostreamâsame
+ library (not a general program). We currently use the same
definition that SGI uses for their STL subset. However,
the exception for read-only containers only applies to the STL
components. This definition is widely-used and something similar
diff --git a/libstdc++-v3/doc/html/manual/containers.html b/libstdc++-v3/doc/html/manual/containers.html
index a30aef2740e..e4030c4a694 100644
--- a/libstdc++-v3/doc/html/manual/containers.html
+++ b/libstdc++-v3/doc/html/manual/containers.html
@@ -10,7 +10,7 @@
XSL_STYLE_DIR="/usr/share/xml/docbook/stylesheet/nwal
      </set>
    HTML Docbook <p> <para> <pre> <computeroutput>, <programlisting>,
diff --git a/libstdc++-v3/doc/html/manual/ext_numerics.html b/libstdc++-v3/doc/html/manual/ext_numerics.html
index 4689c95a61d..57b14ee56eb 100644
--- a/libstdc++-v3/doc/html/manual/ext_numerics.html
+++ b/libstdc++-v3/doc/html/manual/ext_numerics.html
@@ -14,7 +14,7 @@
The operation functor must be associative.
iota function wins the award for Extension With the
Coolest Name (the name comes from Ken Iverson's APL language.) As
- described in the SGI
+ described in the SGI
documentation, it "assigns sequentially increasing values to a range.
That is, it assigns value to *first,
value + 1 to *(first + 1) and so on."
diff --git a/libstdc++-v3/doc/html/manual/ext_sgi.html b/libstdc++-v3/doc/html/manual/ext_sgi.html
index d2013410045..da0f85f8d81 100644
--- a/libstdc++-v3/doc/html/manual/ext_sgi.html
+++ b/libstdc++-v3/doc/html/manual/ext_sgi.html
@@ -28,12 +28,12 @@
and sets.
std:: not supportedisspace from <cctype> is a macro
vector::at, deque::at, string::atstd::char_traits<char>::eofstring::clearostream::form and istream::scan
extensions
diff --git a/libstdc++-v3/doc/html/manual/license.html b/libstdc++-v3/doc/html/manual/license.html
index c1d708acc51..e10808a8908 100644
--- a/libstdc++-v3/doc/html/manual/license.html
+++ b/libstdc++-v3/doc/html/manual/license.html
@@ -15,7 +15,7 @@ GCCÂ RUNTIMEÂ LIBRARYÂ EXCEPTION
Version 3.1, 31 March 2009
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2009 Free Software Foundation, Inc.
Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.
diff --git a/libstdc++-v3/doc/html/manual/policy_data_structures.html b/libstdc++-v3/doc/html/manual/policy_data_structures.html
index 8b2b87d320e..682f7d3a215 100644
--- a/libstdc++-v3/doc/html/manual/policy_data_structures.html
+++ b/libstdc++-v3/doc/html/manual/policy_data_structures.html
@@ -1213,7 +1213,7 @@
.
In Workshop on ML
.
char toLower (char c)
{
- return std::tolower(c);
+ // std::tolower(c) is undefined if c < 0 so cast to unsigned char.
+ return std::tolower((unsigned char)c);
} VERIFY macro, defined in the
<testsuite_hooks.h> header.
- This usually expands to the standard assert macro, but
- allows targets to define it to something different. In order to support
- the alternative expansions of VERIFY, before any
- use of the macro there must be a variable called test
- in scope, which is usually defined like so (the attribute avoids
+ This expands to a custom assertion using
+ __builtin_printf and
+ __builtin_abort
+ (to avoid using assert and being affected by
+ NDEBUG).
+ VERIFY was defined differently.
+ It usually expanded to the standard assert macro, but
+ allowed targets to define it to something different. In order to support
+ the alternative expansions of VERIFY, before any use
+ of the macro there needed to be a variable called test
+ in scope, which was usually defined like so (the attribute avoids
warnings about an unused variable):
bool test __attribute__((unused)) = true;
cxx11
+ ABI version of