diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 920dab8a2edc..72dfa7c44b35 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,9 @@
+2011-12-11 Jonathan Wakely
diff --git a/libstdc++-v3/doc/html/faq.html b/libstdc++-v3/doc/html/faq.html index b87c9d92a59f..dda7d1d44364 100644 --- a/libstdc++-v3/doc/html/faq.html +++ b/libstdc++-v3/doc/html/faq.html @@ -4,7 +4,7 @@ 2008, 2010 FSF -
If you think you've discovered a new bug that is not listed,
- please post a message describing your problem
- to <libstdc++@gcc.gnu.org>
or the Usenet group
- comp.lang.c++.moderated.
+ please post a message describing your problem to the author of
+ the library issues list or the Usenet group comp.lang.c++.moderated.
5.3.
Bugs in the compiler (gcc/g++) and not libstdc++
diff --git a/libstdc++-v3/doc/html/index.html b/libstdc++-v3/doc/html/index.html index deae95e566b2..8f6872792435 100644 --- a/libstdc++-v3/doc/html/index.html +++ b/libstdc++-v3/doc/html/index.html @@ -24,7 +24,7 @@
Table of Contents
Release versioning on the libgcc_s.so binary.
This is implemented via file names and the ELF
DT_SONAME
mechanism (at least on ELF
systems). It is versioned as follows:
-
gcc-3.0.0: libgcc_s.so.1
gcc-3.0.1: libgcc_s.so.1
gcc-3.0.2: libgcc_s.so.1
gcc-3.0.3: libgcc_s.so.1
gcc-3.0.4: libgcc_s.so.1
gcc-3.1.0: libgcc_s.so.1
gcc-3.1.1: libgcc_s.so.1
gcc-3.2.0: libgcc_s.so.1
gcc-3.2.1: libgcc_s.so.1
gcc-3.2.2: libgcc_s.so.1
gcc-3.2.3: libgcc_s.so.1
gcc-3.3.0: libgcc_s.so.1
gcc-3.3.1: libgcc_s.so.1
gcc-3.3.2: libgcc_s.so.1
gcc-3.3.3: libgcc_s.so.1
gcc-3.4.x, gcc-4.[0-5].x: libgcc_s.so.1
For m68k-linux the versions differ as follows:
gcc-3.4.x, gcc-4.[0-5].x: libgcc_s.so.1 +
GCC 3.x: libgcc_s.so.1
GCC 4.x: libgcc_s.so.1
For m68k-linux the versions differ as follows:
GCC 3.4, GCC 4.x: libgcc_s.so.1
when configuring --with-sjlj-exceptions
, or
- libgcc_s.so.2
For hppa-linux the versions differ as follows:
gcc-3.4.x, gcc-4.[0-1].x: either libgcc_s.so.1 + libgcc_s.so.2
For hppa-linux the versions differ as follows:
GCC 3.4, GCC 4.[0-1]: either libgcc_s.so.1
when configuring --with-sjlj-exceptions
, or
- libgcc_s.so.2
gcc-4.[2-5].x: either libgcc_s.so.3 when configuring + libgcc_s.so.2
GCC 4.[2-7]: either libgcc_s.so.3 when configuring
--with-sjlj-exceptions
) or libgcc_s.so.4
Symbol versioning on the libgcc_s.so binary.
It is versioned with the following labels and version definitions, where the version definition is the maximum for a particular release. Labels are cumulative. If a particular release is not listed, it has the same version labels as the preceding - 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
+ 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
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
@@ -108,8 +108,11 @@ compatible.
DT_SONAME
s are forward-compatibile: in
the table below, releases incompatible with the previous
one are explicitly noted.
+ If a particular release is not listed, its libstdc++.so binary
+ 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.3.2: libstdc++.so.5.0.5
gcc-3.3.3: 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-3.4.4: libstdc++.so.6.0.3
gcc-3.4.5: libstdc++.so.6.0.3
gcc-3.4.6: 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.1.2: 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.2.3: libstdc++.so.6.0.9
gcc-4.2.4: libstdc++.so.6.0.9
gcc-4.3.0: libstdc++.so.6.0.10
gcc-4.3.1: libstdc++.so.6.0.10
gcc-4.3.2: libstdc++.so.6.0.10
gcc-4.3.3: libstdc++.so.6.0.10
gcc-4.3.4: 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 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
Note 1: Error should be libstdc++.so.3.0.3.
Note 2: Not strictly required. @@ -123,13 +126,13 @@ compatible. will use the maximum version definition. Thus, for release series with the same label, but incremented version definitions, the later release has both versions. (An example of this would be the - gcc-3.2.1 release, which has GLIBCPP_3.2.1 for new symbols and - GLIBCPP_3.2 for symbols that were introduced in the gcc-3.2.0 + GCC 3.2.1 release, which has GLIBCPP_3.2.1 for new symbols and + 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
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
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.x being version 100. This macro will + compiler v3 ABI, with g++ 3.0 being version 100. This macro will be automatically defined whenever g++ is used (the curious can test this by invoking g++ with the '-v' flag.)
@@ -139,11 +142,11 @@ compatible. '-fabi-version' command line option.
It is versioned as follows, where 'n' is given by '-fabi-version=n': -
gcc-3.0.x: 100
gcc-3.1.x: 100 (Error, should be 101)
gcc-3.2.x: 102
gcc-3.3.x: 102
gcc-3.4.x, gcc-4.[0-5].x: 102 (when n=1)
gcc-3.4.x, gcc-4.[0-5].x: 1000 + n (when n>1)
gcc-3.4.x, gcc-4.[0-5].x: 999999 (when n=0)
Changes to the default compiler option for +
GCC 3.0: 100
GCC 3.1: 100 (Error, should be 101)
GCC 3.2: 102
GCC 3.3: 102
GCC 3.4, GCC 4.x: 102 (when n=1)
GCC 3.4, GCC 4.x: 1000 + n (when n>1)
GCC 3.4, GCC 4.x: 999999 (when n=0)
Changes to the default compiler option for
-fabi-version
.
It is versioned as follows: -
gcc-3.0.x: (Error, not versioned)
gcc-3.1.x: (Error, not versioned)
gcc-3.2.x: -fabi-version=1
gcc-3.3.x: -fabi-version=1
gcc-3.4.x, gcc-4.[0-5].x: -fabi-version=2
(Incompatible with previous)
Incremental bumping of a library pre-defined macro. For releases +
GCC 3.0: (Error, not versioned)
GCC 3.1: (Error, not versioned)
GCC 3.2: -fabi-version=1
GCC 3.3: -fabi-version=1
GCC 3.4, GCC 4.x: -fabi-version=2
(Incompatible with previous)
Incremental bumping of a library pre-defined macro. For releases before 3.4.0, the macro is __GLIBCPP__. For later releases, it's __GLIBCXX__. (The libstdc++ project generously changed from CPP to CXX throughout its source to allow the "C" pre-processor the CPP @@ -151,16 +154,16 @@ compatible. was released, in compressed ISO date format, as an unsigned long.
This macro is defined in the file "c++config" in the - "libstdc++-v3/include/bits" directory. (Up to gcc-4.1.0, it was - changed every night by an automated script. Since gcc-4.1.0, it is + "libstdc++-v3/include/bits" directory. (Up to GCC 4.1.0, it was + changed every night by an automated script. Since GCC 4.1.0, it is the same value as gcc/DATESTAMP.)
It is versioned as follows: -
gcc-3.0.0: 20010615
gcc-3.0.1: 20010819
gcc-3.0.2: 20011023
gcc-3.0.3: 20011220
gcc-3.0.4: 20020220
gcc-3.1.0: 20020514
gcc-3.1.1: 20020725
gcc-3.2.0: 20020814
gcc-3.2.1: 20021119
gcc-3.2.2: 20030205
gcc-3.2.3: 20030422
gcc-3.3.0: 20030513
gcc-3.3.1: 20030804
gcc-3.3.2: 20031016
gcc-3.3.3: 20040214
gcc-3.4.0: 20040419
gcc-3.4.1: 20040701
gcc-3.4.2: 20040906
gcc-3.4.3: 20041105
gcc-3.4.4: 20050519
gcc-3.4.5: 20051201
gcc-3.4.6: 20060306
gcc-4.0.0: 20050421
gcc-4.0.1: 20050707
gcc-4.0.2: 20050921
gcc-4.0.3: 20060309
gcc-4.1.0: 20060228
gcc-4.1.1: 20060524
gcc-4.1.2: 20070214
gcc-4.2.0: 20070514
gcc-4.2.1: 20070719
gcc-4.2.2: 20071007
gcc-4.2.3: 20080201
gcc-4.2.4: 20080519
gcc-4.3.0: 20080306
gcc-4.3.1: 20080606
gcc-4.3.2: 20080827
gcc-4.3.3: 20090124
gcc-4.4.0: 20090421
gcc-4.4.1: 20090722
gcc-4.4.2: 20091015
+
GCC 3.0.0: 20010615
GCC 3.0.1: 20010819
GCC 3.0.2: 20011023
GCC 3.0.3: 20011220
GCC 3.0.4: 20020220
GCC 3.1.0: 20020514
GCC 3.1.1: 20020725
GCC 3.2.0: 20020814
GCC 3.2.1: 20021119
GCC 3.2.2: 20030205
GCC 3.2.3: 20030422
GCC 3.3.0: 20030513
GCC 3.3.1: 20030804
GCC 3.3.2: 20031016
GCC 3.3.3: 20040214
GCC 3.4.0: 20040419
GCC 3.4.1: 20040701
GCC 3.4.2: 20040906
GCC 3.4.3: 20041105
GCC 3.4.4: 20050519
GCC 3.4.5: 20051201
GCC 3.4.6: 20060306
GCC 4.0.0: 20050421
GCC 4.0.1: 20050707
GCC 4.0.2: 20050921
GCC 4.0.3: 20060309
GCC 4.1.0: 20060228
GCC 4.1.1: 20060524
GCC 4.1.2: 20070214
GCC 4.2.0: 20070514
GCC 4.2.1: 20070719
GCC 4.2.2: 20071007
GCC 4.2.3: 20080201
GCC 4.2.4: 20080519
GCC 4.3.0: 20080306
GCC 4.3.1: 20080606
GCC 4.3.2: 20080827
GCC 4.3.3: 20090124
GCC 4.3.4: 20090804
GCC 4.3.5: 20100522
GCC 4.3.6: 20110627
GCC 4.4.0: 20090421
GCC 4.4.1: 20090722
GCC 4.4.2: 20091015
GCC 4.4.3: 20100121
GCC 4.4.4: 20100429
GCC 4.4.5: 20101001
GCC 4.4.6: 20110416
GCC 4.5.0: 20100414
GCC 4.5.1: 20100731
GCC 4.5.2: 20101216
GCC 4.5.3: 20110428
GCC 4.6.0: 20110325
GCC 4.6.1: 20110627
GCC 4.6.2: 20111026
Incremental bumping of a library pre-defined macro, _GLIBCPP_VERSION. This macro is defined as the released version of the library, as a string literal. This is only implemented in - gcc-3.1.0 releases and higher, and is deprecated in 3.4 (where it + GCC 3.1.0 releases and higher, and is deprecated in 3.4 (where it is called _GLIBCXX_VERSION).
This macro is defined in the file "c++config" in the @@ -169,19 +172,20 @@ compatible. of config.h.
It is versioned as follows: -
gcc-3.0.0: "3.0.0"
gcc-3.0.1: "3.0.0" (Error, should be "3.0.1")
gcc-3.0.2: "3.0.0" (Error, should be "3.0.2")
gcc-3.0.3: "3.0.0" (Error, should be "3.0.3")
gcc-3.0.4: "3.0.0" (Error, should be "3.0.4")
gcc-3.1.0: "3.1.0"
gcc-3.1.1: "3.1.1"
gcc-3.2.0: "3.2"
gcc-3.2.1: "3.2.1"
gcc-3.2.2: "3.2.2"
gcc-3.2.3: "3.2.3"
gcc-3.3.0: "3.3"
gcc-3.3.1: "3.3.1"
gcc-3.3.2: "3.3.2"
gcc-3.3.3: "3.3.3"
gcc-3.4.x: "version-unused"
gcc-4.[0-5].x: "version-unused"
+
GCC 3.0.0: "3.0.0"
GCC 3.0.1: "3.0.0" (Error, should be "3.0.1")
GCC 3.0.2: "3.0.0" (Error, should be "3.0.2")
GCC 3.0.3: "3.0.0" (Error, should be "3.0.3")
GCC 3.0.4: "3.0.0" (Error, should be "3.0.4")
GCC 3.1.0: "3.1.0"
GCC 3.1.1: "3.1.1"
GCC 3.2.0: "3.2"
GCC 3.2.1: "3.2.1"
GCC 3.2.2: "3.2.2"
GCC 3.2.3: "3.2.3"
GCC 3.3.0: "3.3"
GCC 3.3.1: "3.3.1"
GCC 3.3.2: "3.3.2"
GCC 3.3.3: "3.3.3"
GCC 3.4: "version-unused"
GCC 4.x: "version-unused"
Matching each specific C++ compiler release to a specific set of - C++ include files. This is only implemented in gcc-3.1.1 releases + C++ include files. This is only implemented in GCC 3.1.1 releases and higher.
- All C++ includes are installed in include/c++, then nest in a
+ All C++ includes are installed in
+ include/c++
, then nest in a
directory hierarchy corresponding to the C++ compiler's released
version. This version corresponds to the variable "gcc_version" in
"libstdc++-v3/acinclude.m4," and more details can be found in that
- file's macro GLIBCXX_CONFIGURE (GLIBCPP_CONFIGURE before gcc-3.4.0).
+ file's macro GLIBCXX_CONFIGURE (GLIBCPP_CONFIGURE before GCC 3.4.0).
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.0: include/c++/3.4.0
gcc-3.4.1: include/c++/3.4.1
gcc-3.4.2: include/c++/3.4.2
gcc-3.4.3: include/c++/3.4.3
gcc-3.4.4: include/c++/3.4.4
gcc-3.4.5: include/c++/3.4.5
gcc-3.4.6: include/c++/3.4.6
gcc-4.0.0: include/c++/4.0.0
gcc-4.0.1: include/c++/4.0.1
gcc-4.0.2: include/c++/4.0.2
gcc-4.0.3: include/c++/4.0.3
gcc-4.1.0: include/c++/4.1.0
gcc-4.1.1: include/c++/4.1.1
gcc-4.1.2: include/c++/4.1.2
gcc-4.2.0: include/c++/4.2.0
gcc-4.2.1: include/c++/4.2.1
gcc-4.2.2: include/c++/4.2.2
gcc-4.2.3: include/c++/4.2.3
gcc-4.2.4: include/c++/4.2.4
gcc-4.3.0: include/c++/4.3.0
gcc-4.3.1: include/c++/4.3.1
gcc-4.3.3: include/c++/4.3.3
gcc-4.3.4: include/c++/4.3.4
gcc-4.4.0: include/c++/4.4.0
gcc-4.4.1: include/c++/4.4.1
gcc-4.4.2: include/c++/4.4.2
gcc-4.5.0: include/c++/4.5.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
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 @@ -199,8 +203,8 @@ compatible. attempt to version symbols (or age gracefully, really) until version 3.1.0.
- Most modern Linux and BSD versions, particularly ones using - gcc-3.1.x tools and more recent vintages, will meet the + Most modern GNU/Linux and BSD versions, particularly ones using + GCC 3.1 and later, will meet the requirements above, as does Solaris 2.5 and up.
It turns out that most of the configure options that change @@ -409,8 +413,8 @@ us. We'd like to know about them!
A "C" application, dynamically linked to two shared libraries, liba, libb. The dependent library liba is a C++ shared library compiled with -gcc-3.3.x, and uses io, exceptions, locale, etc. The dependent library -libb is a C++ shared library compiled with gcc-3.4.x, and also uses io, +GCC 3.3, and uses io, exceptions, locale, etc. The dependent library +libb is a C++ shared library compiled with GCC 3.4, and also uses io, exceptions, locale, etc.
As above, libone is constructed as follows:
%$bld/H-x86-gcc-3.4.0/bin/g++ -fPIC -DPIC -c a.cc @@ -490,39 +494,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 900ccf310534..0b8c4b3be42a 100644
--- a/libstdc++-v3/doc/html/manual/algorithms.html
+++ b/libstdc++-v3/doc/html/manual/algorithms.html
@@ -7,7 +7,7 @@
Standard Contents
Next
Table of Contents
The neatest accomplishment of the algorithms sect1 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 7ae8b2707024..980f8664b989 100644 --- a/libstdc++-v3/doc/html/manual/api.html +++ b/libstdc++-v3/doc/html/manual/api.html @@ -75,11 +75,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 7be7e1a83c76..c4e168434a04 100644 --- a/libstdc++-v3/doc/html/manual/appendix_contributing.html +++ b/libstdc++-v3/doc/html/manual/appendix_contributing.html @@ -7,7 +7,7 @@ Appendices
Table of Contents
The GNU C++ Library follows an open development model. Active contributors are assigned maintainer-ship responsibility, and given @@ -22,20 +22,19 @@ two meeting commitment for voting rights, may get a copy of the standard from their respective national standards organization. In the USA, this national standards - organization is ANSI and their web-site is right - here. - (And if you've already registered with them, clicking this link will take you to directly to the place where you can - buy the standard on-line.) + organization is + ANSI. + (And if you've already registered with them you can + buy the standard on-line.)
The library working group bugs, and known defects, can be obtained here: - http://www.open-std.org/jtc1/sc22/wg21 + http://www.open-std.org/jtc1/sc22/wg21
The newsgroup dedicated to standardization issues is - comp.std.c++: this FAQ for this group is quite useful and - can be - found - here . + comp.std.c++: the + FAQ + for this group is quite useful.
Peruse the GNU @@ -44,11 +43,11 @@
Be familiar with the extensions that preceded these general GNU rules. These style issues for libstdc++ can be - found here. + found in Coding Style.
And last but certainly not least, read the - library-specific information - found here. + library-specific information found in + Porting and Maintenance.
Small changes can be accepted without a copyright assignment form on file. New code and additions to the library need completed copyright diff --git a/libstdc++-v3/doc/html/manual/appendix_free.html b/libstdc++-v3/doc/html/manual/appendix_free.html index d8aba6b3f36b..81134b71bff5 100644 --- a/libstdc++-v3/doc/html/manual/appendix_free.html +++ b/libstdc++-v3/doc/html/manual/appendix_free.html @@ -7,7 +7,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 bc4036768f23..c66586f8b672 100644 --- a/libstdc++-v3/doc/html/manual/appendix_gpl.html +++ b/libstdc++-v3/doc/html/manual/appendix_gpl.html @@ -78,7 +78,7 @@
The precise terms and conditions for copying, distribution and modification follow. -
Table of Contents
Regenerate all generated files by using the command sequence
"autoreconf"
at the top level of the libstdc++ source
directory. The following will also work, but is much more complex:
diff --git a/libstdc++-v3/doc/html/manual/atomics.html b/libstdc++-v3/doc/html/manual/atomics.html
index efcb8f3c7c0e..084dabdcbff7 100644
--- a/libstdc++-v3/doc/html/manual/atomics.html
+++ b/libstdc++-v3/doc/html/manual/atomics.html
@@ -7,7 +7,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 48732f2ca46e..a95e0cdfd2c2 100644 --- a/libstdc++-v3/doc/html/manual/backwards.html +++ b/libstdc++-v3/doc/html/manual/backwards.html @@ -812,7 +812,7 @@ AC_DEFUN([AC_HEADER_STDCXX_11], [ #include <cmath> #include <csetjmp> #include <csignal> - // #include <cstdalign> + #include <cstdalign> #include <cstdarg> #include <cstdbool> #include <cstddef> @@ -840,11 +840,11 @@ AC_DEFUN([AC_HEADER_STDCXX_11], [ #include <fstream> #include <functional> #include <future> + #include <initializer_list> #include <iomanip> #include <ios> #include <iosfwd> #include <iostream> - #include <initializer_list> #include <istream> #include <iterator> #include <limits> @@ -941,15 +941,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/bk01pt02.html b/libstdc++-v3/doc/html/manual/bk01pt02.html index bdd5c0e3f599..edbb8966cfec 100644 --- a/libstdc++-v3/doc/html/manual/bk01pt02.html +++ b/libstdc++-v3/doc/html/manual/bk01pt02.html @@ -13,13 +13,13 @@
Table 17.1. Debugging Containers
Container | Header | Debug container | Debug header |
---|---|---|---|
std::bitset | bitset | __gnu_debug::bitset | <debug/bitset> |
std::deque | deque | __gnu_debug::deque | <debug/deque> |
std::list | list | __gnu_debug::list | <debug/list> |
std::map | map | __gnu_debug::map | <debug/map> |
std::multimap | map | __gnu_debug::multimap | <debug/map> |
std::multiset | set | __gnu_debug::multiset | <debug/set> |
std::set | set | __gnu_debug::set | <debug/set> |
std::string | string | __gnu_debug::string | <debug/string> |
std::wstring | string | __gnu_debug::wstring | <debug/string> |
std::basic_string | string | __gnu_debug::basic_string | <debug/string> |
std::vector | vector | __gnu_debug::vector | <debug/vector> |
In addition, when compiling in C++11 mode, these additional +
Table 17.1. Debugging Containers
Container | Header | Debug container | Debug header |
---|---|---|---|
std::bitset | bitset | __gnu_debug::bitset | <debug/bitset> |
std::deque | deque | __gnu_debug::deque | <debug/deque> |
std::list | list | __gnu_debug::list | <debug/list> |
std::map | map | __gnu_debug::map | <debug/map> |
std::multimap | map | __gnu_debug::multimap | <debug/map> |
std::multiset | set | __gnu_debug::multiset | <debug/set> |
std::set | set | __gnu_debug::set | <debug/set> |
std::string | string | __gnu_debug::string | <debug/string> |
std::wstring | string | __gnu_debug::wstring | <debug/string> |
std::basic_string | string | __gnu_debug::basic_string | <debug/string> |
std::vector | vector | __gnu_debug::vector | <debug/vector> |
In addition, when compiling in C++11 mode, these additional containers have additional debug capability. -
Table 17.2. Debugging Containers C++11
Container | Header | Debug container | Debug header |
---|---|---|---|
std::unordered_map | unordered_map | __gnu_debug::unordered_map | <debug/unordered_map> |
std::unordered_multimap | unordered_map | __gnu_debug::unordered_multimap | <debug/unordered_map> |
std::unordered_set | unordered_set | __gnu_debug::unordered_set | <debug/unordered_set> |
std::unordered_multiset | unordered_set | __gnu_debug::unordered_multiset | <debug/unordered_set> |