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 + + * doc/xml/manual/abi.xml: Replace gcc-x.y.z with GCC x.y.z or x.y, + remove excessive duplication of version information. + * doc/html/*: Regenerate. + 2011-12-10 Benjamin Kosnik * doc/doxygen/user.cfg.in: Add macros, directories. diff --git a/libstdc++-v3/doc/html/api.html b/libstdc++-v3/doc/html/api.html index 06cfe2e83707..62934e7918f8 100644 --- a/libstdc++-v3/doc/html/api.html +++ b/libstdc++-v3/doc/html/api.html @@ -7,7 +7,7 @@ FSF -


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 -




Table of Contents

The GNU C++ Library Manual
I. Introduction -
1. Status
Implementation Status
C++ 1998/2003
Implementation Status
Implementation Specific Behavior
C++ 2011
C++ TR1
C++ TR 24733
License
The Code: GPL
The Documentation: GPL, FDL
Bugs
Implementation Bugs
Standard Bugs
2. Setup
Prerequisites
Configure
Make
3. Using
Command Options
Headers
Header Files
Mixing Headers
The C Headers and namespace std
Precompiled Headers
Macros
Namespaces
Available Namespaces
namespace std
Using Namespace Composition
Linking
Almost Nothing
Finding Dynamic or Shared Libraries
Concurrency
Prerequisites
Thread Safety
Atomics
IO
Structure
Defaults
Future
Alternatives
Containers
Exceptions
Exception Safety
Exception Neutrality
Doing without
Compatibility
With C
With POSIX thread cancellation
Debugging Support
Using g++
Debug Versions of Library Binary Files
Memory Leak Hunting
Data Race Hunting
Using gdb
Tracking uncaught exceptions
Debug Mode
Compile Time Checking
Profile-based Performance Analysis
II. +
1. Status
Implementation Status
C++ 1998/2003
Implementation Status
Implementation Specific Behavior
C++ 2011
Implementation Specific Behavior
C++ TR1
Implementation Specific Behavior
C++ TR 24733
License
The Code: GPL
The Documentation: GPL, FDL
Bugs
Implementation Bugs
Standard Bugs
2. Setup
Prerequisites
Configure
Make
3. Using
Command Options
Headers
Header Files
Mixing Headers
The C Headers and namespace std
Precompiled Headers
Macros
Namespaces
Available Namespaces
namespace std
Using Namespace Composition
Linking
Almost Nothing
Finding Dynamic or Shared Libraries
Concurrency
Prerequisites
Thread Safety
Atomics
IO
Structure
Defaults
Future
Alternatives
Containers
Exceptions
Exception Safety
Exception Neutrality
Doing without
Compatibility
With C
With POSIX thread cancellation
Debugging Support
Using g++
Debug Versions of Library Binary Files
Memory Leak Hunting
Data Race Hunting
Using gdb
Tracking uncaught exceptions
Debug Mode
Compile Time Checking
Profile-based Performance Analysis
II. Standard Contents
4. Support @@ -35,13 +35,13 @@
Exceptions
API Reference
Adding Data to exception
Concept Checking
6. Utilities -
Functors
Pairs
Memory
Allocators
Requirements
Design Issues
Implementation
Interface Design
Selecting Default Allocation Policy
Disabling Memory Caching
Using a Specific Allocator
Custom Allocators
Extension Allocators
auto_ptr
Limitations
Use in Containers
shared_ptr
Requirements
Design Issues
Implementation
Class Hierarchy
Thread Safety
Selecting Lock Policy
Dual C++11 and TR1 Implementation
Related functions and classes
Use
Examples
Unresolved Issues
Acknowledgments
Traits
7. +
Functors
Pairs
Memory
Allocators
Requirements
Design Issues
Implementation
Interface Design
Selecting Default Allocation Policy
Disabling Memory Caching
Using a Specific Allocator
Custom Allocators
Extension Allocators
auto_ptr
Limitations
Use in Containers
shared_ptr
Requirements
Design Issues
Implementation
Class Hierarchy
Thread Safety
Selecting Lock Policy
Related functions and classes
Use
Examples
Unresolved Issues
Acknowledgments
Traits
7. Strings
String Classes
Simple Transformations
Case Sensitivity
Arbitrary Character Types
Tokenizing
Shrink to Fit
CString (MFC)
8. Localization -
Locales
locale
Requirements
Design
Implementation
Interacting with "C" locales
Future
Facets
ctype
Implementation
Specializations
Future
codecvt
Requirements
Design
wchar_t Size
Support for Unicode
Other Issues
Implementation
Use
Future
messages
Requirements
Design
Implementation
Models
The GNU Model
Use
Future
9. +
Locales
locale
Requirements
Design
Implementation
Interacting with "C" locales
Future
Facets
ctype
Implementation
Specializations
Future
codecvt
Requirements
Design
wchar_t Size
Support for Unicode
Other Issues
Implementation
Use
Future
messages
Requirements
Design
Implementation
Models
The GNU Model
Use
Future
9. Containers
Sequences
list
list::size() is O(n)
vector
Space Overhead Management
Associative
Insertion Hints
bitset
Size Variable
Type String
Interacting with C
Containers vs. Arrays
10. diff --git a/libstdc++-v3/doc/html/manual/abi.html b/libstdc++-v3/doc/html/manual/abi.html index b5b24d2a1098..860c5a95a4b6 100644 --- a/libstdc++-v3/doc/html/manual/abi.html +++ b/libstdc++-v3/doc/html/manual/abi.html @@ -87,17 +87,17 @@ compatible.

  1. 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_SONAMEs 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.

Dynamic Shared Objects: Survey and Issues . ISO C++ J16/06-0046 - . Benjamin Kosnik.

Versioning With Namespaces . ISO C++ J16/06-0083 - . Benjamin Kosnik.

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. -


Releases after gcc-3.4 have continued to add to the collection +


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. -


+


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  Next


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.

  • 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 @@

    Exceptions
    API Reference
    Adding Data to exception
    Concept Checking
    6. Utilities -
    Functors
    Pairs
    Memory
    Allocators
    Requirements
    Design Issues
    Implementation
    Interface Design
    Selecting Default Allocation Policy
    Disabling Memory Caching
    Using a Specific Allocator
    Custom Allocators
    Extension Allocators
    auto_ptr
    Limitations
    Use in Containers
    shared_ptr
    Requirements
    Design Issues
    Implementation
    Class Hierarchy
    Thread Safety
    Selecting Lock Policy
    Dual C++11 and TR1 Implementation
    Related functions and classes
    Use
    Examples
    Unresolved Issues
    Acknowledgments
    Traits
    7. +
    Functors
    Pairs
    Memory
    Allocators
    Requirements
    Design Issues
    Implementation
    Interface Design
    Selecting Default Allocation Policy
    Disabling Memory Caching
    Using a Specific Allocator
    Custom Allocators
    Extension Allocators
    auto_ptr
    Limitations
    Use in Containers
    shared_ptr
    Requirements
    Design Issues
    Implementation
    Class Hierarchy
    Thread Safety
    Selecting Lock Policy
    Related functions and classes
    Use
    Examples
    Unresolved Issues
    Acknowledgments
    Traits
    7. Strings
    String Classes
    Simple Transformations
    Case Sensitivity
    Arbitrary Character Types
    Tokenizing
    Shrink to Fit
    CString (MFC)
    8. Localization -
    Locales
    locale
    Requirements
    Design
    Implementation
    Interacting with "C" locales
    Future
    Facets
    ctype
    Implementation
    Specializations
    Future
    codecvt
    Requirements
    Design
    wchar_t Size
    Support for Unicode
    Other Issues
    Implementation
    Use
    Future
    messages
    Requirements
    Design
    Implementation
    Models
    The GNU Model
    Use
    Future
    9. +
    Locales
    locale
    Requirements
    Design
    Implementation
    Interacting with "C" locales
    Future
    Facets
    ctype
    Implementation
    Specializations
    Future
    codecvt
    Requirements
    Design
    wchar_t Size
    Support for Unicode
    Other Issues
    Implementation
    Use
    Future
    messages
    Requirements
    Design
    Implementation
    Models
    The GNU Model
    Use
    Future
    9. Containers
    Sequences
    list
    list::size() is O(n)
    vector
    Space Overhead Management
    Associative
    Insertion Hints
    bitset
    Size Variable
    Type String
    Interacting with C
    Containers vs. Arrays
    10. diff --git a/libstdc++-v3/doc/html/manual/bk01pt03ch17s03.html b/libstdc++-v3/doc/html/manual/bk01pt03ch17s03.html index 0518f10fd153..f57a0af3c2e5 100644 --- a/libstdc++-v3/doc/html/manual/bk01pt03ch17s03.html +++ b/libstdc++-v3/doc/html/manual/bk01pt03ch17s03.html @@ -19,6 +19,6 @@ mode or with debug mode. The following table provides the names and headers of the debugging containers: -


    In addition, when compiling in C++11 mode, these additional +


    In addition, when compiling in C++11 mode, these additional containers have additional debug capability. -


    +


    diff --git a/libstdc++-v3/doc/html/manual/bk01pt03ch18s03.html b/libstdc++-v3/doc/html/manual/bk01pt03ch18s03.html index 5bd27806aa69..5e2dc3f78302 100644 --- a/libstdc++-v3/doc/html/manual/bk01pt03ch18s03.html +++ b/libstdc++-v3/doc/html/manual/bk01pt03ch18s03.html @@ -63,4 +63,4 @@ Then compile this code with the prerequisite compiler flags flags for atomic operations.)

    The following table provides the names and headers of all the parallel algorithms that can be used in a similar manner: -

    Table 18.1. Parallel Algorithms

    AlgorithmHeaderParallel algorithmParallel header
    std::accumulatenumeric__gnu_parallel::accumulateparallel/numeric
    std::adjacent_differencenumeric__gnu_parallel::adjacent_differenceparallel/numeric
    std::inner_productnumeric__gnu_parallel::inner_productparallel/numeric
    std::partial_sumnumeric__gnu_parallel::partial_sumparallel/numeric
    std::adjacent_findalgorithm__gnu_parallel::adjacent_findparallel/algorithm
    std::countalgorithm__gnu_parallel::countparallel/algorithm
    std::count_ifalgorithm__gnu_parallel::count_ifparallel/algorithm
    std::equalalgorithm__gnu_parallel::equalparallel/algorithm
    std::findalgorithm__gnu_parallel::findparallel/algorithm
    std::find_ifalgorithm__gnu_parallel::find_ifparallel/algorithm
    std::find_first_ofalgorithm__gnu_parallel::find_first_ofparallel/algorithm
    std::for_eachalgorithm__gnu_parallel::for_eachparallel/algorithm
    std::generatealgorithm__gnu_parallel::generateparallel/algorithm
    std::generate_nalgorithm__gnu_parallel::generate_nparallel/algorithm
    std::lexicographical_comparealgorithm__gnu_parallel::lexicographical_compareparallel/algorithm
    std::mismatchalgorithm__gnu_parallel::mismatchparallel/algorithm
    std::searchalgorithm__gnu_parallel::searchparallel/algorithm
    std::search_nalgorithm__gnu_parallel::search_nparallel/algorithm
    std::transformalgorithm__gnu_parallel::transformparallel/algorithm
    std::replacealgorithm__gnu_parallel::replaceparallel/algorithm
    std::replace_ifalgorithm__gnu_parallel::replace_ifparallel/algorithm
    std::max_elementalgorithm__gnu_parallel::max_elementparallel/algorithm
    std::mergealgorithm__gnu_parallel::mergeparallel/algorithm
    std::min_elementalgorithm__gnu_parallel::min_elementparallel/algorithm
    std::nth_elementalgorithm__gnu_parallel::nth_elementparallel/algorithm
    std::partial_sortalgorithm__gnu_parallel::partial_sortparallel/algorithm
    std::partitionalgorithm__gnu_parallel::partitionparallel/algorithm
    std::random_shufflealgorithm__gnu_parallel::random_shuffleparallel/algorithm
    std::set_unionalgorithm__gnu_parallel::set_unionparallel/algorithm
    std::set_intersectionalgorithm__gnu_parallel::set_intersectionparallel/algorithm
    std::set_symmetric_differencealgorithm__gnu_parallel::set_symmetric_differenceparallel/algorithm
    std::set_differencealgorithm__gnu_parallel::set_differenceparallel/algorithm
    std::sortalgorithm__gnu_parallel::sortparallel/algorithm
    std::stable_sortalgorithm__gnu_parallel::stable_sortparallel/algorithm
    std::unique_copyalgorithm__gnu_parallel::unique_copyparallel/algorithm

    +

    Table 18.1. Parallel Algorithms

    AlgorithmHeaderParallel algorithmParallel header
    std::accumulatenumeric__gnu_parallel::accumulateparallel/numeric
    std::adjacent_differencenumeric__gnu_parallel::adjacent_differenceparallel/numeric
    std::inner_productnumeric__gnu_parallel::inner_productparallel/numeric
    std::partial_sumnumeric__gnu_parallel::partial_sumparallel/numeric
    std::adjacent_findalgorithm__gnu_parallel::adjacent_findparallel/algorithm
    std::countalgorithm__gnu_parallel::countparallel/algorithm
    std::count_ifalgorithm__gnu_parallel::count_ifparallel/algorithm
    std::equalalgorithm__gnu_parallel::equalparallel/algorithm
    std::findalgorithm__gnu_parallel::findparallel/algorithm
    std::find_ifalgorithm__gnu_parallel::find_ifparallel/algorithm
    std::find_first_ofalgorithm__gnu_parallel::find_first_ofparallel/algorithm
    std::for_eachalgorithm__gnu_parallel::for_eachparallel/algorithm
    std::generatealgorithm__gnu_parallel::generateparallel/algorithm
    std::generate_nalgorithm__gnu_parallel::generate_nparallel/algorithm
    std::lexicographical_comparealgorithm__gnu_parallel::lexicographical_compareparallel/algorithm
    std::mismatchalgorithm__gnu_parallel::mismatchparallel/algorithm
    std::searchalgorithm__gnu_parallel::searchparallel/algorithm
    std::search_nalgorithm__gnu_parallel::search_nparallel/algorithm
    std::transformalgorithm__gnu_parallel::transformparallel/algorithm
    std::replacealgorithm__gnu_parallel::replaceparallel/algorithm
    std::replace_ifalgorithm__gnu_parallel::replace_ifparallel/algorithm
    std::max_elementalgorithm__gnu_parallel::max_elementparallel/algorithm
    std::mergealgorithm__gnu_parallel::mergeparallel/algorithm
    std::min_elementalgorithm__gnu_parallel::min_elementparallel/algorithm
    std::nth_elementalgorithm__gnu_parallel::nth_elementparallel/algorithm
    std::partial_sortalgorithm__gnu_parallel::partial_sortparallel/algorithm
    std::partitionalgorithm__gnu_parallel::partitionparallel/algorithm
    std::random_shufflealgorithm__gnu_parallel::random_shuffleparallel/algorithm
    std::set_unionalgorithm__gnu_parallel::set_unionparallel/algorithm
    std::set_intersectionalgorithm__gnu_parallel::set_intersectionparallel/algorithm
    std::set_symmetric_differencealgorithm__gnu_parallel::set_symmetric_differenceparallel/algorithm
    std::set_differencealgorithm__gnu_parallel::set_differenceparallel/algorithm
    std::sortalgorithm__gnu_parallel::sortparallel/algorithm
    std::stable_sortalgorithm__gnu_parallel::stable_sortparallel/algorithm
    std::unique_copyalgorithm__gnu_parallel::unique_copyparallel/algorithm

    diff --git a/libstdc++-v3/doc/html/manual/bk01pt03ch19s02.html b/libstdc++-v3/doc/html/manual/bk01pt03ch19s02.html index a4d54e0b454c..4d214dd9f48f 100644 --- a/libstdc++-v3/doc/html/manual/bk01pt03ch19s02.html +++ b/libstdc++-v3/doc/html/manual/bk01pt03ch19s02.html @@ -1,7 +1,7 @@ Design

    -

    Table 19.1. Profile Code Location

    Code LocationUse
    libstdc++-v3/include/std/*Preprocessor code to redirect to profile extension headers.
    libstdc++-v3/include/profile/*Profile extension public headers (map, vector, ...).
    libstdc++-v3/include/profile/impl/*Profile extension internals. Implementation files are +


    diff --git a/libstdc++-v3/doc/html/manual/bk01pt03ch19s07.html b/libstdc++-v3/doc/html/manual/bk01pt03ch19s07.html index f2f6cb6e769c..e8c5e6ea799a 100644 --- a/libstdc++-v3/doc/html/manual/bk01pt03ch19s07.html +++ b/libstdc++-v3/doc/html/manual/bk01pt03ch19s07.html @@ -18,7 +18,7 @@ A high accuracy means that the diagnostic is unlikely to be wrong. These grades are not perfect. They are just meant to guide users with specific needs or time budgets. -

    Table 19.2. Profile Diagnostics

    GroupFlagBenefitCostFreq.Implemented 
    +

    Table 19.2. Profile Diagnostics

    GroupFlagBenefitCostFreq.Implemented 
    CONTAINERS HASHTABLE_TOO_SMALL101 10yes
      HASHTABLE_TOO_LARGE51 10yes
      diff --git a/libstdc++-v3/doc/html/manual/bk01pt03ch21s02.html b/libstdc++-v3/doc/html/manual/bk01pt03ch21s02.html index a60f57b1d1a3..b07129edf7fe 100644 --- a/libstdc++-v3/doc/html/manual/bk01pt03ch21s02.html +++ b/libstdc++-v3/doc/html/manual/bk01pt03ch21s02.html @@ -76,7 +76,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/bk01pt03ch30s02.html b/libstdc++-v3/doc/html/manual/bk01pt03ch30s02.html index 7d38a24dc7aa..001502fa0ef7 100644 --- a/libstdc++-v3/doc/html/manual/bk01pt03ch30s02.html +++ b/libstdc++-v3/doc/html/manual/bk01pt03ch30s02.html @@ -13,10 +13,14 @@ conditionally, via the -march command line flag. This usage vary depending on the target hardware and the flags used during compile.

    + +Incomplete/inconsistent. This is only C++11. + +

    If builtins are possible for bool-sized integral types, -_GLIBCXX_ATOMIC_BUILTINS_1 will be defined. +ATOMIC_BOOL_LOCK_FREE will be defined. If builtins are possible for int-sized integral types, -_GLIBCXX_ATOMIC_BUILTINS_4 will be defined. +ATOMIC_INT_LOCK_FREE will be defined.

    For the following hosts, intrinsics are enabled by default.

    • alpha

    • ia64

    • powerpc

    • s390

    For others, some form of -march may work. On non-ancient x86 hardware, -march=native usually does the diff --git a/libstdc++-v3/doc/html/manual/bk01pt03pr01.html b/libstdc++-v3/doc/html/manual/bk01pt03pr01.html index 61dd4083a1ec..961f3d07aab1 100644 --- a/libstdc++-v3/doc/html/manual/bk01pt03pr01.html +++ b/libstdc++-v3/doc/html/manual/bk01pt03pr01.html @@ -3,7 +3,7 @@ <meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><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="extensions.html" title="Part III.  Extensions"/><link rel="prev" href="extensions.html" title="Part III.  Extensions"/><link rel="next" href="ext_compile_checks.html" title="Chapter 16. Compile Time Checks"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"/></tr><tr><td align="left"><a accesskey="p" href="extensions.html">Prev</a> </td><th width="60%" align="center">Part III.  Extensions -</th><td align="right"> <a accesskey="n" href="ext_compile_checks.html">Next</a></td></tr></table><hr/></div><div class="preface"><div class="titlepage"><div><div><h1 class="title"><a id="id563399"/></h1></div></div></div><p> +</th><td align="right"> <a accesskey="n" href="ext_compile_checks.html">Next</a></td></tr></table><hr/></div><div class="preface"><div class="titlepage"><div><div><h1 class="title"><a id="id614429"/></h1></div></div></div><p> Here we will make an attempt at describing the non-Standard extensions to the library. Some of these are from older versions of standard library components, namely SGI's STL, and some of these are diff --git a/libstdc++-v3/doc/html/manual/concurrency.html b/libstdc++-v3/doc/html/manual/concurrency.html index 945592cad0a0..7f3f7ad024bb 100644 --- a/libstdc++-v3/doc/html/manual/concurrency.html +++ b/libstdc++-v3/doc/html/manual/concurrency.html @@ -7,7 +7,7 @@ Standard Contents </th><td align="right"> <a accesskey="n" href="extensions.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 15.  Concurrency"><div class="titlepage"><div><div><h2 class="title"><a id="std.concurrency"/>Chapter 15.  Concurrency - <a id="id563216" class="indexterm"/> + <a id="id614245" class="indexterm"/> </h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="concurrency.html#std.concurrency.api">API Reference</a></span></dt></dl></div><p> Facilities for concurrent operation, and control thereof. </p><div class="section" title="API Reference"><div class="titlepage"><div><div><h2 class="title"><a id="std.concurrency.api"/>API Reference</h2></div></div></div><p> diff --git a/libstdc++-v3/doc/html/manual/configure.html b/libstdc++-v3/doc/html/manual/configure.html index c2cf8d4c13a9..ecc4b845feaa 100644 --- a/libstdc++-v3/doc/html/manual/configure.html +++ b/libstdc++-v3/doc/html/manual/configure.html @@ -181,11 +181,14 @@ additional requirements are necessary and present for activation, and if so, will turn symbol versioning on. This option can change the library ABI. - </p></dd><dt><span class="term"><code class="code">--enable-visibility</code></span></dt><dd><p> In 4.2 and later, enables or disables visibility attributes. - If enabled (as by default), and the compiler seems capable of - passing the simple sanity checks thrown at it, adjusts items - in namespace std, namespace std::tr1, and namespace __gnu_cxx - so that -fvisibility options work. + </p></dd><dt><span class="term"><code class="code">--enable-libstdcxx-visibility</code></span></dt><dd><p> In 4.2 and later, enables or disables visibility + attributes. If enabled (as by default), and the compiler seems + capable of passing the simple sanity checks thrown at it, adjusts + items in namespace std, namespace std::tr1, namespace std::tr2, + and namespace __gnu_cxx to have <code class="code">visibility ("default")</code> + so that -fvisibility options can be used without affecting the + normal external-visibility of namespace std entities. + Prior to 4.7 this option was spelled <code class="code">--enable-visibility</code>. </p></dd><dt><span class="term"><code class="code">--enable-libstdcxx-pch</code></span></dt><dd><p>In 3.4 and later, tries to turn on the generation of stdc++.h.gch, a pre-compiled file including all the standard C++ includes. If enabled (as by default), and the compiler diff --git a/libstdc++-v3/doc/html/manual/containers.html b/libstdc++-v3/doc/html/manual/containers.html index 7b7e373464e6..7d80e5031374 100644 --- a/libstdc++-v3/doc/html/manual/containers.html +++ b/libstdc++-v3/doc/html/manual/containers.html @@ -7,7 +7,7 @@ Standard Contents </th><td align="right"> <a accesskey="n" href="associative.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 9.  Containers"><div class="titlepage"><div><div><h2 class="title"><a id="std.containers"/>Chapter 9.  Containers - <a id="id560262" class="indexterm"/> + <a id="id611291" class="indexterm"/> </h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="containers.html#std.containers.sequences">Sequences</a></span></dt><dd><dl><dt><span class="section"><a href="containers.html#containers.sequences.list">list</a></span></dt><dd><dl><dt><span class="section"><a href="containers.html#sequences.list.size">list::size() is O(n)</a></span></dt></dl></dd><dt><span class="section"><a href="containers.html#containers.sequences.vector">vector</a></span></dt><dd><dl><dt><span class="section"><a href="containers.html#sequences.vector.management">Space Overhead Management</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="associative.html">Associative</a></span></dt><dd><dl><dt><span class="section"><a href="associative.html#containers.associative.insert_hints">Insertion Hints</a></span></dt><dt><span class="section"><a href="associative.html#containers.associative.bitset">bitset</a></span></dt><dd><dl><dt><span class="section"><a href="associative.html#associative.bitset.size_variable">Size Variable</a></span></dt><dt><span class="section"><a href="associative.html#associative.bitset.type_string">Type String</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="containers_and_c.html">Interacting with C</a></span></dt><dd><dl><dt><span class="section"><a href="containers_and_c.html#containers.c.vs_array">Containers vs. Arrays</a></span></dt></dl></dd></dl></div><div class="section" title="Sequences"><div class="titlepage"><div><div><h2 class="title"><a id="std.containers.sequences"/>Sequences</h2></div></div></div><div class="section" title="list"><div class="titlepage"><div><div><h3 class="title"><a id="containers.sequences.list"/>list</h3></div></div></div><div class="section" title="list::size() is O(n)"><div class="titlepage"><div><div><h4 class="title"><a id="sequences.list.size"/>list::size() is O(n)</h4></div></div></div><p> Yes it is, and that's okay. This is a decision that we preserved when we imported SGI's STL implementation. The following is diff --git a/libstdc++-v3/doc/html/manual/diagnostics.html b/libstdc++-v3/doc/html/manual/diagnostics.html index 5652a78c1c71..701fa412277c 100644 --- a/libstdc++-v3/doc/html/manual/diagnostics.html +++ b/libstdc++-v3/doc/html/manual/diagnostics.html @@ -7,7 +7,7 @@ Standard Contents </th><td align="right"> <a accesskey="n" href="bk01pt02ch05s02.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 5.  Diagnostics"><div class="titlepage"><div><div><h2 class="title"><a id="std.diagnostics"/>Chapter 5.  Diagnostics - <a id="id541707" class="indexterm"/> + <a id="id592786" class="indexterm"/> </h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="diagnostics.html#std.diagnostics.exceptions">Exceptions</a></span></dt><dd><dl><dt><span class="section"><a href="diagnostics.html#std.diagnostics.exceptions.api">API Reference</a></span></dt><dt><span class="section"><a href="diagnostics.html#std.diagnostics.exceptions.data">Adding Data to <code class="classname">exception</code></a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt02ch05s02.html">Concept Checking</a></span></dt></dl></div><div class="section" title="Exceptions"><div class="titlepage"><div><div><h2 class="title"><a id="std.diagnostics.exceptions"/>Exceptions</h2></div></div></div><div class="section" title="API Reference"><div class="titlepage"><div><div><h3 class="title"><a id="std.diagnostics.exceptions.api"/>API Reference</h3></div></div></div><p> All exception objects are defined in one of the standard header files: <code class="filename">exception</code>, diff --git a/libstdc++-v3/doc/html/manual/documentation_hacking.html b/libstdc++-v3/doc/html/manual/documentation_hacking.html index dfeface9583e..6cfdf885cfc4 100644 --- a/libstdc++-v3/doc/html/manual/documentation_hacking.html +++ b/libstdc++-v3/doc/html/manual/documentation_hacking.html @@ -117,7 +117,7 @@ supported, and are always aliased to dummy rules. These unsupported formats are: <span class="emphasis"><em>info</em></span>, <span class="emphasis"><em>ps</em></span>, and <span class="emphasis"><em>dvi</em></span>. - </p></div><div class="section" title="Doxygen"><div class="titlepage"><div><div><h3 class="title"><a id="doc.doxygen"/>Doxygen</h3></div></div></div><div class="section" title="Prerequisites"><div class="titlepage"><div><div><h4 class="title"><a id="doxygen.prereq"/>Prerequisites</h4></div></div></div><div class="table"><a id="id610857"/><p class="title"><strong>Table B.1. Doxygen Prerequisites</strong></p><div class="table-contents"><table summary="Doxygen Prerequisites" border="1"><colgroup><col style="text-align: center" class="c1"/><col style="text-align: center" class="c2"/><col style="text-align: center" class="c3"/></colgroup><thead><tr><th style="text-align: center">Tool</th><th style="text-align: center">Version</th><th style="text-align: center">Required By</th></tr></thead><tbody><tr><td style="text-align: center">coreutils</td><td style="text-align: center">8.5</td><td style="text-align: center">all</td></tr><tr><td style="text-align: center">bash</td><td style="text-align: center">4.1</td><td style="text-align: center">all</td></tr><tr><td style="text-align: center">doxygen</td><td style="text-align: center">1.7.0</td><td style="text-align: center">all</td></tr><tr><td style="text-align: center">graphviz</td><td style="text-align: center">2.26</td><td style="text-align: center">graphical hierarchies</td></tr><tr><td style="text-align: center">pdflatex</td><td style="text-align: center">2007-59</td><td style="text-align: center">pdf output</td></tr></tbody></table></div></div><br class="table-break"/><p> + </p></div><div class="section" title="Doxygen"><div class="titlepage"><div><div><h3 class="title"><a id="doc.doxygen"/>Doxygen</h3></div></div></div><div class="section" title="Prerequisites"><div class="titlepage"><div><div><h4 class="title"><a id="doxygen.prereq"/>Prerequisites</h4></div></div></div><div class="table"><a id="id661894"/><p class="title"><strong>Table B.1. Doxygen Prerequisites</strong></p><div class="table-contents"><table summary="Doxygen Prerequisites" border="1"><colgroup><col style="text-align: center" class="c1"/><col style="text-align: center" class="c2"/><col style="text-align: center" class="c3"/></colgroup><thead><tr><th style="text-align: center">Tool</th><th style="text-align: center">Version</th><th style="text-align: center">Required By</th></tr></thead><tbody><tr><td style="text-align: center">coreutils</td><td style="text-align: center">8.5</td><td style="text-align: center">all</td></tr><tr><td style="text-align: center">bash</td><td style="text-align: center">4.1</td><td style="text-align: center">all</td></tr><tr><td style="text-align: center">doxygen</td><td style="text-align: center">1.7.0</td><td style="text-align: center">all</td></tr><tr><td style="text-align: center">graphviz</td><td style="text-align: center">2.26</td><td style="text-align: center">graphical hierarchies</td></tr><tr><td style="text-align: center">pdflatex</td><td style="text-align: center">2007-59</td><td style="text-align: center">pdf output</td></tr></tbody></table></div></div><br class="table-break"/><p> Prerequisite tools are Bash 2.0 or later, <a class="link" href="http://www.doxygen.org/">Doxygen</a>, and the <a class="link" href="http://www.gnu.org/software/coreutils/">GNU @@ -263,7 +263,7 @@ writing Doxygen comments. Single and double quotes, and separators in filenames are two common trouble spots. When in doubt, consult the following table. - </p><div class="table"><a id="id611360"/><p class="title"><strong>Table B.2. HTML to Doxygen Markup Comparison</strong></p><div class="table-contents"><table summary="HTML to Doxygen Markup Comparison" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/></colgroup><thead><tr><th style="text-align: left">HTML</th><th style="text-align: left">Doxygen</th></tr></thead><tbody><tr><td style="text-align: left">\</td><td style="text-align: left">\\</td></tr><tr><td style="text-align: left">"</td><td style="text-align: left">\"</td></tr><tr><td style="text-align: left">'</td><td style="text-align: left">\'</td></tr><tr><td style="text-align: left"><i></td><td style="text-align: left">@a word</td></tr><tr><td style="text-align: left"><b></td><td style="text-align: left">@b word</td></tr><tr><td style="text-align: left"><code></td><td style="text-align: left">@c word</td></tr><tr><td style="text-align: left"><em></td><td style="text-align: left">@a word</td></tr><tr><td style="text-align: left"><em></td><td style="text-align: left"><em>two words or more</em></td></tr></tbody></table></div></div><br class="table-break"/></div></div><div class="section" title="Docbook"><div class="titlepage"><div><div><h3 class="title"><a id="doc.docbook"/>Docbook</h3></div></div></div><div class="section" title="Prerequisites"><div class="titlepage"><div><div><h4 class="title"><a id="docbook.prereq"/>Prerequisites</h4></div></div></div><div class="table"><a id="id611522"/><p class="title"><strong>Table B.3. Docbook Prerequisites</strong></p><div class="table-contents"><table summary="Docbook Prerequisites" border="1"><colgroup><col style="text-align: center" class="c1"/><col style="text-align: center" class="c2"/><col style="text-align: center" class="c3"/></colgroup><thead><tr><th style="text-align: center">Tool</th><th style="text-align: center">Version</th><th style="text-align: center">Required By</th></tr></thead><tbody><tr><td style="text-align: center">docbook5-style-xsl</td><td style="text-align: center">1.76.1</td><td style="text-align: center">all</td></tr><tr><td style="text-align: center">xsltproc</td><td style="text-align: center">1.1.26</td><td style="text-align: center">all</td></tr><tr><td style="text-align: center">xmllint</td><td style="text-align: center">2.7.7</td><td style="text-align: center">validation</td></tr><tr><td style="text-align: center">dblatex</td><td style="text-align: center">0.3</td><td style="text-align: center">pdf output</td></tr><tr><td style="text-align: center">pdflatex</td><td style="text-align: center">2007-59</td><td style="text-align: center">pdf output</td></tr><tr><td style="text-align: center">docbook2X</td><td style="text-align: center">0.8.8</td><td style="text-align: center">info output</td></tr></tbody></table></div></div><br class="table-break"/><p> + </p><div class="table"><a id="id662396"/><p class="title"><strong>Table B.2. HTML to Doxygen Markup Comparison</strong></p><div class="table-contents"><table summary="HTML to Doxygen Markup Comparison" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/></colgroup><thead><tr><th style="text-align: left">HTML</th><th style="text-align: left">Doxygen</th></tr></thead><tbody><tr><td style="text-align: left">\</td><td style="text-align: left">\\</td></tr><tr><td style="text-align: left">"</td><td style="text-align: left">\"</td></tr><tr><td style="text-align: left">'</td><td style="text-align: left">\'</td></tr><tr><td style="text-align: left"><i></td><td style="text-align: left">@a word</td></tr><tr><td style="text-align: left"><b></td><td style="text-align: left">@b word</td></tr><tr><td style="text-align: left"><code></td><td style="text-align: left">@c word</td></tr><tr><td style="text-align: left"><em></td><td style="text-align: left">@a word</td></tr><tr><td style="text-align: left"><em></td><td style="text-align: left"><em>two words or more</em></td></tr></tbody></table></div></div><br class="table-break"/></div></div><div class="section" title="Docbook"><div class="titlepage"><div><div><h3 class="title"><a id="doc.docbook"/>Docbook</h3></div></div></div><div class="section" title="Prerequisites"><div class="titlepage"><div><div><h4 class="title"><a id="docbook.prereq"/>Prerequisites</h4></div></div></div><div class="table"><a id="id662558"/><p class="title"><strong>Table B.3. Docbook Prerequisites</strong></p><div class="table-contents"><table summary="Docbook Prerequisites" border="1"><colgroup><col style="text-align: center" class="c1"/><col style="text-align: center" class="c2"/><col style="text-align: center" class="c3"/></colgroup><thead><tr><th style="text-align: center">Tool</th><th style="text-align: center">Version</th><th style="text-align: center">Required By</th></tr></thead><tbody><tr><td style="text-align: center">docbook5-style-xsl</td><td style="text-align: center">1.76.1</td><td style="text-align: center">all</td></tr><tr><td style="text-align: center">xsltproc</td><td style="text-align: center">1.1.26</td><td style="text-align: center">all</td></tr><tr><td style="text-align: center">xmllint</td><td style="text-align: center">2.7.7</td><td style="text-align: center">validation</td></tr><tr><td style="text-align: center">dblatex</td><td style="text-align: center">0.3</td><td style="text-align: center">pdf output</td></tr><tr><td style="text-align: center">pdflatex</td><td style="text-align: center">2007-59</td><td style="text-align: center">pdf output</td></tr><tr><td style="text-align: center">docbook2X</td><td style="text-align: center">0.8.8</td><td style="text-align: center">info output</td></tr></tbody></table></div></div><br class="table-break"/><p> Editing the DocBook sources requires an XML editor. Many exist: some notable options include <span class="command"><strong>emacs</strong></span>, <span class="application">Kate</span>, @@ -419,11 +419,11 @@ make <code class="literal">XSL_STYLE_DIR="/usr/share/xml/docbook/stylesheet/nwal <a class="link" href="http://www.docbook.org/tdg/en/html/part2.html">online</a>. An incomplete reference for HTML to Docbook conversion is detailed in the table below. - </p><div class="table"><a id="id612000"/><p class="title"><strong>Table B.4. HTML to Docbook XML Markup Comparison</strong></p><div class="table-contents"><table summary="HTML to Docbook XML Markup Comparison" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/></colgroup><thead><tr><th style="text-align: left">HTML</th><th style="text-align: left">Docbook</th></tr></thead><tbody><tr><td style="text-align: left"><p></td><td style="text-align: left"><para></td></tr><tr><td style="text-align: left"><pre></td><td style="text-align: left"><computeroutput>, <programlisting>, + </p><div class="table"><a id="id663036"/><p class="title"><strong>Table B.4. HTML to Docbook XML Markup Comparison</strong></p><div class="table-contents"><table summary="HTML to Docbook XML Markup Comparison" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/></colgroup><thead><tr><th style="text-align: left">HTML</th><th style="text-align: left">Docbook</th></tr></thead><tbody><tr><td style="text-align: left"><p></td><td style="text-align: left"><para></td></tr><tr><td style="text-align: left"><pre></td><td style="text-align: left"><computeroutput>, <programlisting>, <literallayout></td></tr><tr><td style="text-align: left"><ul></td><td style="text-align: left"><itemizedlist></td></tr><tr><td style="text-align: left"><ol></td><td style="text-align: left"><orderedlist></td></tr><tr><td style="text-align: left"><il></td><td style="text-align: left"><listitem></td></tr><tr><td style="text-align: left"><dl></td><td style="text-align: left"><variablelist></td></tr><tr><td style="text-align: left"><dt></td><td style="text-align: left"><term></td></tr><tr><td style="text-align: left"><dd></td><td style="text-align: left"><listitem></td></tr><tr><td style="text-align: left"><a href=""></td><td style="text-align: left"><ulink url=""></td></tr><tr><td style="text-align: left"><code></td><td style="text-align: left"><literal>, <programlisting></td></tr><tr><td style="text-align: left"><strong></td><td style="text-align: left"><emphasis></td></tr><tr><td style="text-align: left"><em></td><td style="text-align: left"><emphasis></td></tr><tr><td style="text-align: left">"</td><td style="text-align: left"><quote></td></tr></tbody></table></div></div><br class="table-break"/><p> And examples of detailed markup for which there are no real HTML equivalents are listed in the table below. -</p><div class="table"><a id="id612201"/><p class="title"><strong>Table B.5. Docbook XML Element Use</strong></p><div class="table-contents"><table summary="Docbook XML Element Use" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/></colgroup><thead><tr><th style="text-align: left">Element</th><th style="text-align: left">Use</th></tr></thead><tbody><tr><td style="text-align: left"><structname></td><td style="text-align: left"><structname>char_traits</structname></td></tr><tr><td style="text-align: left"><classname></td><td style="text-align: left"><classname>string</classname></td></tr><tr><td style="text-align: left"><function></td><td style="text-align: left"> +</p><div class="table"><a id="id663237"/><p class="title"><strong>Table B.5. Docbook XML Element Use</strong></p><div class="table-contents"><table summary="Docbook XML Element Use" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/></colgroup><thead><tr><th style="text-align: left">Element</th><th style="text-align: left">Use</th></tr></thead><tbody><tr><td style="text-align: left"><structname></td><td style="text-align: left"><structname>char_traits</structname></td></tr><tr><td style="text-align: left"><classname></td><td style="text-align: left"><classname>string</classname></td></tr><tr><td style="text-align: left"><function></td><td style="text-align: left"> <p><function>clear()</function></p> <p><function>fs.clear()</function></p> </td></tr><tr><td style="text-align: left"><type></td><td style="text-align: left"><type>long long</type></td></tr><tr><td style="text-align: left"><varname></td><td style="text-align: left"><varname>fs</varname></td></tr><tr><td style="text-align: left"><literal></td><td style="text-align: left"> diff --git a/libstdc++-v3/doc/html/manual/extensions.html b/libstdc++-v3/doc/html/manual/extensions.html index 0d5474ac211f..61e3362efc73 100644 --- a/libstdc++-v3/doc/html/manual/extensions.html +++ b/libstdc++-v3/doc/html/manual/extensions.html @@ -5,7 +5,7 @@ </th></tr><tr><td align="left"><a accesskey="p" href="io_and_c.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library Manual</th><td align="right"> <a accesskey="n" href="bk01pt03pr01.html">Next</a></td></tr></table><hr/></div><div class="part" title="Part III.  Extensions"><div class="titlepage"><div><div><h1 class="title"><a id="manual.ext"/>Part III.  Extensions - <a id="id563381" class="indexterm"/> + <a id="id614410" class="indexterm"/> </h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="preface"><a href="bk01pt03pr01.html"/></span></dt><dt><span class="chapter"><a href="ext_compile_checks.html">16. Compile Time Checks</a></span></dt><dt><span class="chapter"><a href="debug_mode.html">17. Debug Mode</a></span></dt><dd><dl><dt><span class="section"><a href="debug_mode.html#manual.ext.debug_mode.intro">Intro</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s02.html">Semantics</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s03.html">Using</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s03.html#debug_mode.using.mode">Using the Debug Mode</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s03.html#debug_mode.using.specific">Using a Specific Debug Container</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch17s04.html">Design</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.goals">Goals</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods">Methods</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.wrappers">The Wrapper Model</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.safe_iter">Safe Iterators</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.safe_seq">Safe Sequences (Containers)</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.precond">Precondition Checking</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.coexistence">Release- and debug-mode coexistence</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#methods.coexistence.compile">Compile-time coexistence of release- and debug-mode components</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#methods.coexistence.link">Link- and run-time coexistence of release- and debug-mode components</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#methods.coexistence.alt">Alternatives for Coexistence</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.other">Other Implementations</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="parallel_mode.html">18. Parallel Mode</a></span></dt><dd><dl><dt><span class="section"><a href="parallel_mode.html#manual.ext.parallel_mode.intro">Intro</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s02.html">Semantics</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s03.html">Using</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch18s03.html#parallel_mode.using.prereq_flags">Prerequisite Compiler Flags</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s03.html#parallel_mode.using.parallel_mode">Using Parallel Mode</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s03.html#parallel_mode.using.specific">Using Specific Parallel Components</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch18s04.html">Design</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.intro">Interface Basics</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.tuning">Configuration and Tuning</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.tuning.omp">Setting up the OpenMP Environment</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.tuning.compile">Compile Time Switches</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.tuning.settings">Run Time Settings and Defaults</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.impl">Implementation Namespaces</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch18s05.html">Testing</a></span></dt><dt><span class="bibliography"><a href="parallel_mode.html#parallel_mode.biblio">Bibliography</a></span></dt></dl></dd><dt><span class="chapter"><a href="profile_mode.html">19. Profile Mode</a></span></dt><dd><dl><dt><span class="section"><a href="profile_mode.html#manual.ext.profile_mode.intro">Intro</a></span></dt><dd><dl><dt><span class="section"><a href="profile_mode.html#manual.ext.profile_mode.using">Using the Profile Mode</a></span></dt><dt><span class="section"><a href="profile_mode.html#manual.ext.profile_mode.tuning">Tuning the Profile Mode</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s02.html">Design</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.wrapper">Wrapper Model</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.instrumentation">Instrumentation</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.rtlib">Run Time Behavior</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.analysis">Analysis and Diagnostics</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.cost-model">Cost Model</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.reports">Reports</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.testing">Testing</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s03.html">Extensions for Custom Containers</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s04.html">Empirical Cost Model</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html">Implementation Issues</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.stack">Stack Traces</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.symbols">Symbolization of Instruction Addresses</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.concurrency">Concurrency</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.stdlib-in-proflib">Using the Standard Library in the Instrumentation Implementation</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.malloc-hooks">Malloc Hooks</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.construction-destruction">Construction and Destruction of Global Objects</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s06.html">Developer Information</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s06.html#manual.ext.profile_mode.developer.bigpic">Big Picture</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s06.html#manual.ext.profile_mode.developer.howto">How To Add A Diagnostic</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s07.html">Diagnostics</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.template">Diagnostic Template</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.containers">Containers</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.hashtable_too_small">Hashtable Too Small</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.hashtable_too_large">Hashtable Too Large</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.inefficient_hash">Inefficient Hash</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_too_small">Vector Too Small</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_too_large">Vector Too Large</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_to_hashtable">Vector to Hashtable</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.hashtable_to_vector">Hashtable to Vector</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_to_list">Vector to List</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.list_to_vector">List to Vector</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.list_to_slist">List to Forward List (Slist)</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.assoc_ord_to_unord">Ordered to Unordered Associative Container</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.algorithms">Algorithms</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.algorithms.sort">Sort Algorithm Performance</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality">Data Locality</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality.sw_prefetch">Need Software Prefetch</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality.linked">Linked Structure Locality</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.mthread">Multithreaded Data Access</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.mthread.ddtest">Data Dependence Violations at Container Level</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.mthread.false_share">False Sharing</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.statistics">Statistics</a></span></dt></dl></dd><dt><span class="bibliography"><a href="profile_mode.html#profile_mode.biblio">Bibliography</a></span></dt></dl></dd><dt><span class="chapter"><a href="mt_allocator.html">20. The mt_allocator</a></span></dt><dd><dl><dt><span class="section"><a href="mt_allocator.html#allocator.mt.intro">Intro</a></span></dt><dt><span class="section"><a href="bk01pt03ch20s02.html">Design Issues</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch20s02.html#allocator.mt.overview">Overview</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch20s03.html">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch20s03.html#allocator.mt.tune">Tunable Parameters</a></span></dt><dt><span class="section"><a href="bk01pt03ch20s03.html#allocator.mt.init">Initialization</a></span></dt><dt><span class="section"><a href="bk01pt03ch20s03.html#allocator.mt.deallocation">Deallocation Notes</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch20s04.html">Single Thread Example</a></span></dt><dt><span class="section"><a href="bk01pt03ch20s05.html">Multiple Thread Example</a></span></dt></dl></dd><dt><span class="chapter"><a href="bitmap_allocator.html">21. The bitmap_allocator</a></span></dt><dd><dl><dt><span class="section"><a href="bitmap_allocator.html#allocator.bitmap.design">Design</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.free_list_store">Free List Store</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.super_block">Super Block</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.super_block_data">Super Block Data Layout</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.max_wasted">Maximum Wasted Percentage</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.allocate"><code class="function">allocate</code></a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.deallocate"><code class="function">deallocate</code></a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.questions">Questions</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.question.1">1</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.question.2">2</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.question.3">3</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.locality">Locality</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.grow_policy">Overhead and Grow Policy</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="policy_data_structures.html">22. Policy-Based Data Structures</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#pbds.intro">Intro</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.issues">Performance Issues</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.issues.associative">Associative</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.issues.priority_queue">Priority Que</a></span></dt></dl></dd><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.motivation">Goals</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.motivation.associative">Associative</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#motivation.associative.policy">Policy Choices</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.associative.underlying">Underlying Data Structures</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.associative.iterators">Iterators</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.associative.functions">Functional</a></span></dt></dl></dd><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.motivation.priority_queue">Priority Queues</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#motivation.priority_queue.policy">Policy Choices</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.priority_queue.underlying">Underlying Data Structures</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.priority_queue.binary_heap">Binary Heaps</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="section"><a href="policy_data_structures_using.html">Using</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.organization">Organization</a></span></dt><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.tutorial">Tutorial</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.tutorial.basic">Basic Use</a></span></dt><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.tutorial.configuring"> Configuring via Template Parameters diff --git a/libstdc++-v3/doc/html/manual/facets.html b/libstdc++-v3/doc/html/manual/facets.html index 1da98823ffdf..e090b74c77fb 100644 --- a/libstdc++-v3/doc/html/manual/facets.html +++ b/libstdc++-v3/doc/html/manual/facets.html @@ -3,7 +3,7 @@ <html xmlns="http://www.w3.org/1999/xhtml"><head><title>Facets

     Next

    System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008) . Copyright © 2008 The Open Group/The Institute of Electrical and Electronics Engineers, Inc. - .

    A brief description of Normative Addendum 1 - . Clive Feather. Extended Character Sets.

    The Unicode HOWTO - . Bruno Haible.

    UTF-8 and Unicode FAQ for Unix/Linux @@ -507,8 +507,9 @@ A couple of notes on the standard.

    First, why is messages_base::catalog specified as a typedef to int? This makes sense for implementations that use -catopen, but not for others. Fortunately, it's not heavily -used and so only a minor irritant. +catopen and define nl_catd as int, but not for +others. Fortunately, it's not heavily used and so only a minor irritant. +This has been reported as a possible defect in the standard (LWG 2028).

    Second, by making the member functions const, it is impossible to save state in them. Thus, storing away information used @@ -690,39 +691,39 @@ void test01() model. As of this writing, it is unknown how to query to see if a specified message catalog exists using the gettext package. -


    Table of Contents

    I. Introduction -
    1. Status
    Implementation Status
    C++ 1998/2003
    Implementation Status
    Implementation Specific Behavior
    C++ 2011
    C++ TR1
    C++ TR 24733
    License
    The Code: GPL
    The Documentation: GPL, FDL
    Bugs
    Implementation Bugs
    Standard Bugs
    2. Setup
    Prerequisites
    Configure
    Make
    3. Using
    Command Options
    Headers
    Header Files
    Mixing Headers
    The C Headers and namespace std
    Precompiled Headers
    Macros
    Namespaces
    Available Namespaces
    namespace std
    Using Namespace Composition
    Linking
    Almost Nothing
    Finding Dynamic or Shared Libraries
    Concurrency
    Prerequisites
    Thread Safety
    Atomics
    IO
    Structure
    Defaults
    Future
    Alternatives
    Containers
    Exceptions
    Exception Safety
    Exception Neutrality
    Doing without
    Compatibility
    With C
    With POSIX thread cancellation
    Debugging Support
    Using g++
    Debug Versions of Library Binary Files
    Memory Leak Hunting
    Data Race Hunting
    Using gdb
    Tracking uncaught exceptions
    Debug Mode
    Compile Time Checking
    Profile-based Performance Analysis
    II. +
    1. Status
    Implementation Status
    C++ 1998/2003
    Implementation Status
    Implementation Specific Behavior
    C++ 2011
    Implementation Specific Behavior
    C++ TR1
    Implementation Specific Behavior
    C++ TR 24733
    License
    The Code: GPL
    The Documentation: GPL, FDL
    Bugs
    Implementation Bugs
    Standard Bugs
    2. Setup
    Prerequisites
    Configure
    Make
    3. Using
    Command Options
    Headers
    Header Files
    Mixing Headers
    The C Headers and namespace std
    Precompiled Headers
    Macros
    Namespaces
    Available Namespaces
    namespace std
    Using Namespace Composition
    Linking
    Almost Nothing
    Finding Dynamic or Shared Libraries
    Concurrency
    Prerequisites
    Thread Safety
    Atomics
    IO
    Structure
    Defaults
    Future
    Alternatives
    Containers
    Exceptions
    Exception Safety
    Exception Neutrality
    Doing without
    Compatibility
    With C
    With POSIX thread cancellation
    Debugging Support
    Using g++
    Debug Versions of Library Binary Files
    Memory Leak Hunting
    Data Race Hunting
    Using gdb
    Tracking uncaught exceptions
    Debug Mode
    Compile Time Checking
    Profile-based Performance Analysis
    II. Standard Contents
    4. Support @@ -16,13 +16,13 @@
    Exceptions
    API Reference
    Adding Data to exception
    Concept Checking
    6. Utilities -
    Functors
    Pairs
    Memory
    Allocators
    Requirements
    Design Issues
    Implementation
    Interface Design
    Selecting Default Allocation Policy
    Disabling Memory Caching
    Using a Specific Allocator
    Custom Allocators
    Extension Allocators
    auto_ptr
    Limitations
    Use in Containers
    shared_ptr
    Requirements
    Design Issues
    Implementation
    Class Hierarchy
    Thread Safety
    Selecting Lock Policy
    Dual C++11 and TR1 Implementation
    Related functions and classes
    Use
    Examples
    Unresolved Issues
    Acknowledgments
    Traits
    7. +
    Functors
    Pairs
    Memory
    Allocators
    Requirements
    Design Issues
    Implementation
    Interface Design
    Selecting Default Allocation Policy
    Disabling Memory Caching
    Using a Specific Allocator
    Custom Allocators
    Extension Allocators
    auto_ptr
    Limitations
    Use in Containers
    shared_ptr
    Requirements
    Design Issues
    Implementation
    Class Hierarchy
    Thread Safety
    Selecting Lock Policy
    Related functions and classes
    Use
    Examples
    Unresolved Issues
    Acknowledgments
    Traits
    7. Strings
    String Classes
    Simple Transformations
    Case Sensitivity
    Arbitrary Character Types
    Tokenizing
    Shrink to Fit
    CString (MFC)
    8. Localization -
    Locales
    locale
    Requirements
    Design
    Implementation
    Interacting with "C" locales
    Future
    Facets
    ctype
    Implementation
    Specializations
    Future
    codecvt
    Requirements
    Design
    wchar_t Size
    Support for Unicode
    Other Issues
    Implementation
    Use
    Future
    messages
    Requirements
    Design
    Implementation
    Models
    The GNU Model
    Use
    Future
    9. +
    Locales
    locale
    Requirements
    Design
    Implementation
    Interacting with "C" locales
    Future
    Facets
    ctype
    Implementation
    Specializations
    Future
    codecvt
    Requirements
    Design
    wchar_t Size
    Support for Unicode
    Other Issues
    Implementation
    Use
    Future
    messages
    Requirements
    Design
    Implementation
    Models
    The GNU Model
    Use
    Future
    9. Containers
    Sequences
    list
    list::size() is O(n)
    vector
    Space Overhead Management
    Associative
    Insertion Hints
    bitset
    Size Variable
    Type String
    Interacting with C
    Containers vs. Arrays
    10. @@ -146,19 +146,19 @@ Support for C++11 dialect.
    D. GNU General Public License version 3 -
    E. GNU Free Documentation License
    + + diff --git a/libstdc++-v3/doc/html/manual/io.html b/libstdc++-v3/doc/html/manual/io.html index 658024a0ae17..ccf88c73f087 100644 --- a/libstdc++-v3/doc/html/manual/io.html +++ b/libstdc++-v3/doc/html/manual/io.html @@ -7,7 +7,7 @@ Standard Contents
     Next

     Next

    The following FAQ entry points out that diff --git a/libstdc++-v3/doc/html/manual/localization.html b/libstdc++-v3/doc/html/manual/localization.html index 3572f10e842c..bbcffbefe15e 100644 --- a/libstdc++-v3/doc/html/manual/localization.html +++ b/libstdc++-v3/doc/html/manual/localization.html @@ -7,8 +7,8 @@ Standard Contents  Next


    System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008) . Copyright © 2008 The Open Group/The Institute of Electrical and Electronics Engineers, Inc. - .

    C++11-only features are: rvalue-ref/move support, allocator support, aliasing constructor, make_shared & allocate_shared. Additionally, the constructors taking auto_ptr parameters are deprecated in C++11 mode. -

    +

    The Thread Safety section of the Boost shared_ptr documentation says "shared_ptr @@ -536,7 +536,7 @@ compiler, standard library, platform etc. For the version of shared_ptr in libstdc++ the compiler and library are fixed, which makes things much simpler: we have an atomic CAS or we don't, see Lock Policy below for details. -

    There is a single _Sp_counted_base class, which is a template parameterized on the enum @@ -553,7 +553,7 @@ not be conforming for shared_ptr to have an extra template parameter, even if it had a default value. The available policies are:

    1. - _S_Atomic + _S_Atomic

      Selected when GCC supports a builtin atomic compare-and-swap operation on the target processor (see Atomic @@ -561,13 +561,13 @@ Builtins.) The reference counts are maintained using a lock-free algorithm and GCC's atomic builtins, which provide the required memory synchronisation.

    2. - _S_Mutex + _S_Mutex

      The _Sp_counted_base specialization for this policy contains a mutex, which is locked in add_ref_lock(). This policy is used when GCC's atomic builtins aren't available so explicit memory barriers are needed in places.

    3. - _S_Single + _S_Single

      This policy uses a non-reentrant add_ref_lock() with no locking. It is used when libstdc++ is built without --enable-threads. @@ -577,24 +577,7 @@ used when libstdc++ is built without --enable-threadsext/atomicity.h, which detect if the program is multi-threaded. If only one thread of execution exists in the program then less expensive non-atomic operations are used. -

    Boost C++ Libraries documentation, shared_ptr diff --git a/libstdc++-v3/doc/html/manual/numerics.html b/libstdc++-v3/doc/html/manual/numerics.html index 93088e5d9acf..b2054d2c97c1 100644 --- a/libstdc++-v3/doc/html/manual/numerics.html +++ b/libstdc++-v3/doc/html/manual/numerics.html @@ -7,7 +7,7 @@ Standard Contents  Next


    Using complex<> becomes even more comple- er, sorry, diff --git a/libstdc++-v3/doc/html/manual/pairs.html b/libstdc++-v3/doc/html/manual/pairs.html index 472337b36bff..e5c0263ee3e8 100644 --- a/libstdc++-v3/doc/html/manual/pairs.html +++ b/libstdc++-v3/doc/html/manual/pairs.html @@ -14,8 +14,7 @@ pair (const T1& x, const T2& y);

    does what you think it does, first getting x and second getting y. -

    There is a copy constructor, but it requires that your compiler - handle member function templates: +

    There is a constructor template for copying pairs of other types:

         template <class U, class V> pair (const pair<U,V>& p);
        

    The compiler will convert as necessary from U to T1 and from diff --git a/libstdc++-v3/doc/html/manual/parallel_mode.html b/libstdc++-v3/doc/html/manual/parallel_mode.html index 3408e18e4fa3..5b175f100744 100644 --- a/libstdc++-v3/doc/html/manual/parallel_mode.html +++ b/libstdc++-v3/doc/html/manual/parallel_mode.html @@ -13,11 +13,11 @@ explicit source declaration or by compiling existing sources with a specific compiler flag.

    The standard C++ library contains associative containers based on red-black trees and collision-chaining hash tables. These are very useful, but they are not ideal for all types of @@ -259,7 +259,7 @@

    The figure below shows the different underlying data structures currently supported in this library. -


    +


    A shows a collision-chaining hash-table, B shows a probing hash-table, C shows a red-black tree, D shows a splay tree, E shows a tree based on an ordered vector(implicit in the order of the @@ -378,7 +378,7 @@ no guarantee that the elements traversed will coincide with the logical elements between 1 and 5, as in label B. -


    +


    In our opinion, this problem is not caused just because red-black trees are order preserving while collision-chaining hash tables are (generally) not - it @@ -429,7 +429,7 @@ list, as in the graphic below, label B. Here the iterators are as light as can be, but the hash-table's operations are more complicated. -


    +


    It should be noted that containers based on collision-chaining hash-tables are not the only ones with this type of behavior; many other self-organizing data structures display it as well. @@ -445,7 +445,7 @@ container. The graphic below shows three cases: A1 and A2 show a red-black tree; B1 and B2 show a probing hash-table; C1 and C2 show a collision-chaining hash table. -


    1. +


      1. Erasing 5 from A1 yields A2. Clearly, an iterator to 3 can be de-referenced and incremented. The sequence of iterators changed, but in a way that is well-defined by the interface. @@ -681,7 +681,7 @@ typically less structured than an associative container's tree; the third simply uses an associative container. These are shown in the figure below with labels A1 and A2, B, and C. -


        +


        No single implementation can completely replace any of the others. Some have better push and pop amortized performance, some have diff --git a/libstdc++-v3/doc/html/manual/policy_data_structures_design.html b/libstdc++-v3/doc/html/manual/policy_data_structures_design.html index 25808634a067..2e7b12639377 100644 --- a/libstdc++-v3/doc/html/manual/policy_data_structures_design.html +++ b/libstdc++-v3/doc/html/manual/policy_data_structures_design.html @@ -171,7 +171,7 @@ naturally; collision-chaining hash tables (label B) store equivalent-key values in the same bucket, the bucket can be arranged so that equivalent-key values are consecutive. -


        +


        Put differently, the standards' non-unique mapping associative-containers are associative containers that map primary keys to linked lists that are embedded into the @@ -253,7 +253,7 @@ first graphic above. Labels A and B, respectively. Each shaded box represents some size-type or secondary associative-container. -


        +


        In the first example above, then, one would use an associative container mapping each user to an associative container which maps each application id to a start time (see @@ -306,7 +306,7 @@ shows invariants for order-preserving containers: point-type iterators are synonymous with range-type iterators. Orthogonally, Cshows invariants for "set" - containers: iterators are synonymous with const iterators.


        Note that point-type iterators in self-organizing containers + containers: iterators are synonymous with const iterators.


        Note that point-type iterators in self-organizing containers (hash-based associative containers) lack movement operators, such as operator++ - in fact, this is the reason why this library differentiates from the standard C++ librarys @@ -345,7 +345,7 @@ to the question of whether point-type iterators and range-type iterators are valid. The graphic below shows tags corresponding to different types of invalidation guarantees. -


      The graphic below shows the relationships. -


    Hash-tables, as opposed to trees, do not naturally grow or shrink. It is necessary to specify policies to determine how and when a hash table should change its size. Usually, resize policies can be decomposed into orthogonal policies:

    1. A size policy indicating how a hash table @@ -668,10 +668,10 @@ and some load factor be denoted by Α. We would like to calculate the minimal length of k, such that if there were Α m elements in the hash table, a probe sequence of length k would - be found with probability at most 1/m.


      Denote the probability that a probe sequence of length + be found with probability at most 1/m.


      Denote the probability that a probe sequence of length k appears in bin i by pi, the length of the probe sequence of bin i by - li, and assume uniform distribution. Then

      Equation 22.7.  + li, and assume uniform distribution. Then

      Equation 22.7.  Probability of Probe Sequence of Length k

      p1 = @@ -685,7 +685,7 @@ li are negatively-dependent ([biblio.dubhashi98neg]) . Let - I(.) denote the indicator function. Then

      Equation 22.8.  + I(.) denote the indicator function. Then

      Equation 22.8.  Probability Probe Sequence in Some Bin

      P( existsi li ≥ k ) = @@ -724,7 +724,7 @@ a resize is needed, and if so, what is the new size (points D to G); following the resize, it notifies the policy that a resize has completed (point H); finally, the element is - inserted, and the policy notified (point I).


      In practice, a resize policy can be usually orthogonally + inserted, and the policy notified (point I).


      In practice, a resize policy can be usually orthogonally decomposed to a size policy and a trigger policy. Consequently, the library contains a single class for instantiating a resize policy: hash_standard_resize_policy @@ -733,8 +733,8 @@ both, and acts as a standard delegate ([biblio.gof]) to these policies.

      The two graphics immediately below show sequence diagrams illustrating the interaction between the standard resize policy - and its trigger and size policies, respectively.


      The library includes the following instantiations of size and trigger policies:


      These problems are solved by a combination of two means: node iterators, and template-template node updater parameters.

      Each tree-based container defines two additional iterator types, const_node_iterator @@ -920,7 +920,7 @@ node_update class, and publicly subclasses node_update. The graphic below shows this scheme, as well as some predefined policies (which are explained - below).


      node_update (an instantiation of + below).


      node_update (an instantiation of Node_Update) must define metadata_type as the type of metadata it requires. For order statistics, e.g., metadata_type might be size_t. @@ -939,7 +939,7 @@ nd_it. For example, say node x in the graphic below label A has an invalid invariant, but its' children, y and z have valid invariants. After the invocation, all three - nodes should have valid invariants, as in label B.


      When a tree operation might invalidate some node invariant, + nodes should have valid invariants, as in label B.


      When a tree operation might invalidate some node invariant, it invokes this method in its node_update base to restore the invariant. For example, the graphic below shows an insert operation (point A); the tree performs some @@ -947,7 +947,7 @@ C, and D). (It is well known that any insert, erase, split or join, can restore all node invariants by a small number of node invariant updates ([biblio.clrs2001]) - .


      To complete the description of the scheme, three questions + .


      To complete the description of the scheme, three questions need to be answered:

      1. How can a tree which supports order statistics define a method such as find_by_order?

      2. How can the node updater base access methods of the tree?

      3. How can the following cyclic dependency be resolved? @@ -989,7 +989,7 @@ node's metadata (this is halting reducible). In the graphic below, assume the shaded node is inserted. The tree would have to traverse the useless path shown to the root, applying - redundant updates all the way.


      A null policy class, null_node_update + redundant updates all the way.


    A null policy class, null_node_update solves both these problems. The tree detects that node invariants are irrelevant, and defines all accordingly.

    Trie-based containers support node invariants, as do tree-based containers. There are two minor differences, though, which, unfortunately, thwart sharing them sharing the same node-updating policies:

    The graphic below shows the scheme, as well as some predefined - policies (which are explained below).


    This library offers the following pre-defined trie node + policies (which are explained below).


    This library offers the following pre-defined trie node updating policies:

    this library allows instantiating lists with policies implementing any algorithm moving nodes to the front of the list (policies implementing algorithms interchanging nodes are unsupported).

    Associative containers based on lists are parametrized by a @@ -1311,7 +1311,7 @@ sequence; the second uses a tree (or forest of trees), which is typically less structured than an associative container's tree; the third simply uses an associative container. These are - shown in the graphic below, in labels A1 and A2, label B, and label C.


    Roughly speaking, any value that is both pushed and popped + shown in the graphic below, in labels A1 and A2, label B, and label C.


    Roughly speaking, any value that is both pushed and popped from a priority queue must incur a logarithmic expense (in the amortized sense). Any priority queue implementation that would avoid this, would violate known bounds on comparison-based @@ -1391,7 +1391,7 @@ container Cntnr, the tag of the underlying data structure can be found via typename Cntnr::container_category; this is one of the possible tags shown in the graphic below. -


    Additionally, a traits mechanism can be used to query a +


    Additionally, a traits mechanism can be used to query a container type for its attributes. Given any container Cntnr, then

    __gnu_pbds::container_traits<Cntnr>

    is a traits class identifying the properties of the diff --git a/libstdc++-v3/doc/html/manual/policy_data_structures_using.html b/libstdc++-v3/doc/html/manual/policy_data_structures_using.html index 519973fabd7d..431413118406 100644 --- a/libstdc++-v3/doc/html/manual/policy_data_structures_using.html +++ b/libstdc++-v3/doc/html/manual/policy_data_structures_using.html @@ -62,7 +62,7 @@ In addition, there are the following diagnostics classes, used to report errors specific to this library's data structures. -


    Perflint: A Context Sensitive Performance Advisor for C++ Programs . Lixia Liu. Silvius Rus. Copyright © 2009 . Proceedings of the 2009 International Symposium on Code Generation diff --git a/libstdc++-v3/doc/html/manual/source_organization.html b/libstdc++-v3/doc/html/manual/source_organization.html index b7329bb88ec2..2526e6ab976c 100644 --- a/libstdc++-v3/doc/html/manual/source_organization.html +++ b/libstdc++-v3/doc/html/manual/source_organization.html @@ -57,7 +57,7 @@ It has subdirectories:
        Files that are used in constructing the library, but are not
        installed.

    -  testsuites/[backward, demangle, ext, performance, thread, 17_* to 27_*]
    +  testsuites/[backward, demangle, ext, performance, thread, 17_* to 30_*]
        Test programs are here, and may be used to begin to exercise the
        library.  Support for "make check" and "make check-install" is
        complete, and runs through all the subdirectories here when this
    diff --git a/libstdc++-v3/doc/html/manual/status.html b/libstdc++-v3/doc/html/manual/status.html index 3ca20267fb6d..cca4608851b7 100644 --- a/libstdc++-v3/doc/html/manual/status.html +++ b/libstdc++-v3/doc/html/manual/status.html @@ -3,12 +3,12 @@ Chapter 1. Status

    This status table is based on the table of contents of ISO/IEC 14882:2003.

    This page describes the C++ support in mainline GCC SVN, not in any particular release. -

    Table 1.1. C++ 1998/2003 Implementation Status

    SectionDescriptionStatusComments
    +

    Table 1.1. C++ 1998/2003 Implementation Status

    SectionDescriptionStatusComments
    18 Language support @@ -143,6 +143,7 @@ particular release.

    [27.8.1.4]/16 Calling fstream::sync when a get area exists will... whatever fflush() does, I think.

    + This table is based on the table of contents of ISO/IEC JTC1 SC22 WG21 Doc No: N3290 Date: 2011-04-11 Final Draft International Standard, Standard for Programming Language C++ @@ -157,11 +158,11 @@ presence of the required flag.

    This page describes the C++11 support in mainline GCC SVN, not in any particular release. -

    Table 1.2. C++ 2011 Implementation Status

    SectionDescriptionStatusComments
    +

    Table 1.2. C++ 2011 Implementation Status

    SectionDescriptionStatusComments
    18 Language support -
    18.1GeneralY 
    18.2TypesPartialMissing offsetof, max_align_t
    18.3Implementation properties  
    18.3.2Numeric Limits  
    18.3.2.3Class template numeric_limitsY 
    18.3.2.4numeric_limits membersY 
    18.3.2.5float_round_styleN 
    18.3.2.6float_denorm_styleN 
    18.3.2.7numeric_limits specializationsY 
    18.3.3C LibraryY 
    18.4Integer types  
    18.4.1Header <cstdint> synopsisY 
    18.5Start and terminationPartialC library dependency for quick_exit, at_quick_exit
    18.6Dynamic memory managementY 
    18.7Type identification  
    18.7.1Class type_infoY 
    18.7.2Class bad_castY 
    18.7.3Class bad_typeidY 
    18.8Exception handling  
    18.8.1Class exceptionY 
    18.8.2Class bad_exceptionY 
    18.8.3Abnormal terminationY 
    18.8.4uncaught_exceptionY 
    18.8.5Exception PropagationY 
    18.8.6nested_exceptionY 
    18.9Initializer lists  
    18.9.1Initializer list constructorsY 
    18.9.2Initializer list accessY 
    18.9.3Initializer list range accessY 
    18.10Other runtime supportPartialMissing <cstdalign>
    +
    18.1GeneralY 
    18.2TypesPartialMissing offsetof, max_align_t
    18.3Implementation properties  
    18.3.2Numeric Limits  
    18.3.2.3Class template numeric_limitsY 
    18.3.2.4numeric_limits membersY 
    18.3.2.5float_round_styleN 
    18.3.2.6float_denorm_styleN 
    18.3.2.7numeric_limits specializationsY 
    18.3.3C LibraryY 
    18.4Integer types  
    18.4.1Header <cstdint> synopsisY 
    18.5Start and terminationPartialC library dependency for quick_exit, at_quick_exit
    18.6Dynamic memory managementY 
    18.7Type identification  
    18.7.1Class type_infoY 
    18.7.2Class bad_castY 
    18.7.3Class bad_typeidY 
    18.8Exception handling  
    18.8.1Class exceptionY 
    18.8.2Class bad_exceptionY 
    18.8.3Abnormal terminationY 
    18.8.4uncaught_exceptionY 
    18.8.5Exception PropagationY 
    18.8.6nested_exceptionY 
    18.9Initializer lists  
    18.9.1Initializer list constructorsY 
    18.9.2Initializer list accessY 
    18.9.3Initializer list range accessY 
    18.10Other runtime supportY 
    19 Diagnostics @@ -169,7 +170,8 @@ particular release. 20 General utilities -
    20.1General  
    20.2Utility components  
    20.2.1OperatorsY 
    20.2.2SwapY 
    20.2.3forward and move helpersY 
    20.2.4Function template declvalY 
    20.3Pairs  
    20.3.1In general  
    20.3.2Class template pairY 
    20.3.3Specialized algorithmsY 
    20.3.4Tuple-like access to pairY 
    20.3.5Piecewise constructionY 
    20.4Tuples  
    20.4.1In general  
    20.4.2Class template tuple  
    20.4.2.1ConstructionY 
    20.4.2.2AssignmentY 
    20.4.2.3SwapY 
    20.4.2.4Tuple creation functionsY 
    20.4.2.5Tuple helper classesY 
    20.4.2.6Element accessY 
    20.4.2.7Relational operatorsY 
    20.4.2.8Tuple traitsY 
    20.4.2.9Tuple specialized algorithmsY 
    20.5Class template bitsetY 
    20.5.1bitset constructorsY 
    20.5.2bitset membersY 
    20.5.3bitset hash supportY 
    20.5.4bitset operatorsY 
    20.6Memory  
    20.6.1In general  
    20.6.2Header <memory> synopsis  
    20.6.3Pointer traitsPartialMissing rebind
    20.6.4Pointer safetyPartial 
    20.6.5AlignN 
    20.6.6Allocator argument tagY 
    20.6.7uses_allocatorY 
    20.6.8Allocator traitsPartialMissing rebind_alloc and rebind_traits
    20.6.9The default allocatorY 
    20.6.10Raw storage iteratorY 
    20.6.11Temporary buffersY 
    20.6.12Specialized algorithms  
    20.6.12.1addressofY 
    20.6.12.2uninitialized_copyY 
    20.6.12.3uninitialized_fillY 
    20.6.12.4uninitialized_fill_nY 
    20.6.13C libraryY 
    20.7Smart pointers  
    20.7.1Class template unique_ptrY 
    20.7.2Shared-ownership pointersY 
    20.7.2.1Class bad_weak_ptrY 
    20.7.2.2Class template shared_ptrY +
    20.1General  
    20.2Utility components  
    20.2.1OperatorsY 
    20.2.2SwapY 
    20.2.3forward and move helpersY 
    20.2.4Function template declvalY 
    20.3Pairs  
    20.3.1In general  
    20.3.2Class template pairPartialPiecewise construction requires an accessible copy/move + constructor.
    20.3.3Specialized algorithmsY 
    20.3.4Tuple-like access to pairY 
    20.3.5Piecewise constructionY 
    20.4Tuples  
    20.4.1In general  
    20.4.2Class template tuple  
    20.4.2.1ConstructionY 
    20.4.2.2AssignmentY 
    20.4.2.3SwapY 
    20.4.2.4Tuple creation functionsY 
    20.4.2.5Tuple helper classesY 
    20.4.2.6Element accessY 
    20.4.2.7Relational operatorsY 
    20.4.2.8Tuple traitsY 
    20.4.2.9Tuple specialized algorithmsY 
    20.5Class template bitsetY 
    20.5.1bitset constructorsY 
    20.5.2bitset membersY 
    20.5.3bitset hash supportY 
    20.5.4bitset operatorsY 
    20.6Memory  
    20.6.1In general  
    20.6.2Header <memory> synopsis  
    20.6.3Pointer traitsPartialMissing rebind
    20.6.4Pointer safetyPartial 
    20.6.5AlignN 
    20.6.6Allocator argument tagY 
    20.6.7uses_allocatorY 
    20.6.8Allocator traitsPartialMissing rebind_alloc and rebind_traits
    20.6.9The default allocatorY 
    20.6.10Raw storage iteratorY 
    20.6.11Temporary buffersY 
    20.6.12Specialized algorithms  
    20.6.12.1addressofY 
    20.6.12.2uninitialized_copyY 
    20.6.12.3uninitialized_fillY 
    20.6.12.4uninitialized_fill_nY 
    20.6.13C libraryY 
    20.7Smart pointers  
    20.7.1Class template unique_ptrY 
    20.7.2Shared-ownership pointersY 
    20.7.2.1Class bad_weak_ptrY 
    20.7.2.2Class template shared_ptrY

    Uses code from boost::shared_ptr. @@ -198,7 +200,8 @@ particular release. 23

    Containers -
    23.1General  
    23.2Container requirements  
    23.2.1General container requirementsY 
    23.2.2Container data racesY 
    23.2.3Sequence containersY 
    23.2.4Associative containersPartialMissing emplace members
    23.2.5Unordered associative containersPartialMissing emplace members
    23.3Sequence containers  
    23.3.2Class template arrayY 
    23.3.3Class template dequeY 
    23.3.4Class template forward_listY 
    23.3.5Class template listY 
    23.3.6Class template vectorY 
    23.3.7Class vector<bool>Y 
    23.4Associative containers  
    23.4.4Class template mapY 
    23.4.5Class template multimapY 
    23.4.6Class template setY 
    23.4.7Class template multisetY 
    23.5Unordered associative containers  
    23.5.4Class template unordered_mapY 
    23.5.5Class template unordered_multimapY 
    23.5.6Class template unordered_setY 
    23.5.7Class template unordered_multisetY 
    23.6Container adaptors  
    23.6.1Class template queueY 
    23.6.2Class template priority_queueY 
    23.6.3Class template stackY 
    +
    23.1General  
    23.2Container requirements  
    23.2.1General container requirementsPartialOnly vector meets the requirements + relating to allocator use and propagation.
    23.2.2Container data racesY 
    23.2.3Sequence containersY 
    23.2.4Associative containersPartialMissing emplace members
    23.2.5Unordered associative containersPartialMissing emplace members
    23.3Sequence containers  
    23.3.2Class template arrayY 
    23.3.3Class template dequeY 
    23.3.4Class template forward_listY 
    23.3.5Class template listY 
    23.3.6Class template vectorY 
    23.3.7Class vector<bool>Y 
    23.4Associative containers  
    23.4.4Class template mapY 
    23.4.5Class template multimapY 
    23.4.6Class template setY 
    23.4.7Class template multisetY 
    23.5Unordered associative containers  
    23.5.4Class template unordered_mapY 
    23.5.5Class template unordered_multimapY 
    23.5.6Class template unordered_setY 
    23.5.7Class template unordered_multisetY 
    23.6Container adaptors  
    23.6.1Class template queueY 
    23.6.2Class template priority_queueY 
    23.6.3Class template stackY 
    24 Iterators @@ -215,8 +218,9 @@ particular release. Input/output library
    27.1GeneralY 
    27.2Iostreams requirementsY 
    27.2.1Imbue LimitationsY 
    27.2.2Positioning Type LimitationsY 
    27.2.3Thread safetyPartial 
    27.3Forward declarationsY 
    27.4Standard iostream objectsY 
    27.4.1OverviewY 
    27.4.2Narrow stream objectsY 
    27.4.3Wide stream objectsY 
    27.5Iostreams base classesPartial - Missing move and swap operations on basic_ios. Missing - make_error_code and make_error_condition. + Missing move and swap operations on basic_ios. + Missing io_errc and iostream_category. + ios_base::failure is not derived from system_error.
    27.6Stream buffersY 
    27.7Formatting and manipulatorsPartialMissing move and swap operations
    27.8String-based streamsPartialMissing move and swap operations
    27.9File-based streamsPartialMissing move and swap operations
    28 @@ -232,11 +236,50 @@ particular release. 30 Thread support -
    30.1GeneralY 
    30.2RequirementsY 
    30.3Threads  
    30.3.1Class threadPartialthread::id comparisons not well-defined
    30.3.2Namespace this_threadY 
    30.4Mutual exclusion  
    30.4.1Mutex requirements  
    30.4.1.1In general  
    30.4.1.2Mutex types  
    30.4.1.2.1Class mutexY 
    30.4.1.2.2Class recursive_mutexY 
    30.4.1.3Timed mutex types  
    30.4.1.3.1Class timed_mutexY 
    30.4.1.3.2Class recursive_timed_mutexY 
    30.4.2Locks  
    30.4.2.1Class template lock_guardY 
    30.4.2.2Class template unique_lockY 
    30.4.3Generic locking algorithmsY 
    30.4.4Call once  
    30.4.4.1Struct once_flagY 
    30.4.4.2Function call_onceY 
    30.5Condition variablesPartialMissing notify_all_at_thread_exit
    30.5.1Class condition_variableY 
    30.5.2Class condition_variable_anyY 
    30.6Futures  
    30.6.1Overview  
    30.6.2Error handlingY 
    30.6.3Class future_errorY 
    30.6.4Shared stateY 
    30.6.5Class template promisePartialMissing set_*_at_thread_exit
    30.6.6Class template futurePartialTimed waiting functions do not return future_status
    30.6.7Class template shared_futurePartialTimed waiting functions do not return future_status
    30.6.8Function template asyncY 
    30.6.9Class template packaged_taskPartialMissing make_ready_at_thread_exit
    +
    30.1GeneralY 
    30.2RequirementsY 
    30.3Threads  
    30.3.1Class threadPartialthread::id comparisons not well-defined
    30.3.2Namespace this_threadY 
    30.4Mutual exclusion  
    30.4.1Mutex requirements  
    30.4.1.1In general  
    30.4.1.2Mutex types  
    30.4.1.2.1Class mutexY 
    30.4.1.2.2Class recursive_mutexY 
    30.4.1.3Timed mutex types On POSIX sytems these types are only defined if the OS + supports the POSIX Timeouts option.
    30.4.1.3.1Class timed_mutexY 
    30.4.1.3.2Class recursive_timed_mutexY 
    30.4.2Locks  
    30.4.2.1Class template lock_guardY 
    30.4.2.2Class template unique_lockY 
    30.4.3Generic locking algorithmsY 
    30.4.4Call once  
    30.4.4.1Struct once_flagY 
    30.4.4.2Function call_onceY 
    30.5Condition variablesPartialMissing notify_all_at_thread_exit
    30.5.1Class condition_variableY 
    30.5.2Class condition_variable_anyY 
    30.6Futures  
    30.6.1Overview  
    30.6.2Error handlingY 
    30.6.3Class future_errorY 
    30.6.4Shared stateY 
    30.6.5Class template promisePartialMissing set_*_at_thread_exit
    30.6.6Class template futurePartialTimed waiting functions do not return future_status
    30.6.7Class template shared_futurePartialTimed waiting functions do not return future_status
    30.6.8Function template asyncY 
    30.6.9Class template packaged_taskPartialMissing make_ready_at_thread_exit
    Appendix D Compatibility features -
    D.1Increment operator with bool operand  
    D.2register keyword  
    D.3Implicit declaration of copy functions  
    D.4Dynamic exception specifications  
    D.5C standard library headers  
    D.6Old iostreams members  
    D.7char* streams  
    D.8Function objects  
    D.9Binders  
    D.10auto_ptr  
    D.11Violating exception-specifications  

    D.1Increment operator with bool operand  
    D.2register keyword  
    D.3Implicit declaration of copy functions  
    D.4Dynamic exception specifications  
    D.5C standard library headers  
    D.6Old iostreams members  
    D.7char* streams  
    D.8Function objects  
    D.9Binders  
    D.10auto_ptr  
    D.11Violating exception-specifications  

    For behaviour which is also specified by the 1998 and 2003 standards, + see C++ 1998/2003 Implementation + Specific Behavior. This section only documents behaviour which + is new in the 2011 standard. +

    + 20.8.9.1.3 [func.bind.place]/1 There are 29 + placeholders defined and the placeholder types are + CopyAssignable. +

    + 30.2.3 [thread.req.native]/1 + native_handle_type and + native_handle are provided. The handle types + are defined in terms of the Gthreads abstraction layer. +

    • thread: The native handle type is + a typedef for __gthread_t i.e. pthread_t + when GCC is configured with the posix thread + model. The value of the native handle is undefined for a thread + which is not joinable. +

    • mutex and + timed_mutex: + The native handle type is __gthread_mutex_t* i.e. + pthread_mutex_t* for the posix + thread model. +

    • recursive_mutex and + recursive_timed_mutex: + The native handle type is __gthread_recursive_mutex_t* + i.e. pthread_mutex_t* for the posix + thread model. +

    • condition_variable: The native + handle type is __gthread_cond_t* i.e. + pthread_cond_t* for the posix + thread model. +

    +

    + 30.6.1 [futures.overview]/2 + launch is a scoped enumeration type with + overloaded operators to support bitmask operations. There are no + additional bitmask elements defined. +

    This table is based on the table of contents of ISO/IEC DTR 19768 Doc No: N1836=05-0096 Date: 2005-06-24 Draft Technical Report on C++ Library Extensions @@ -247,12 +290,20 @@ In this implementation the header names are prefixed by

    This page describes the TR1 support in mainline GCC SVN, not in any particular release. -

    Table 1.3. C++ TR1 Implementation Status

    SectionDescriptionStatusComments
    2General Utilities
    2.1Reference wrappers  
    2.1.1Additions to header <functional> synopsisY 
    2.1.2Class template reference_wrapper  
    2.1.2.1reference_wrapper construct/copy/destroyY 
    2.1.2.2reference_wrapper assignmentY 
    2.1.2.3reference_wrapper accessY 
    2.1.2.4reference_wrapper invocationY 
    2.1.2.5reference_wrapper helper functionsY 
    2.2Smart pointers  
    2.2.1Additions to header <memory> synopsisY 
    2.2.2Class bad_weak_ptrY 
    2.2.3Class template shared_ptr  +

    Table 1.3. C++ TR1 Implementation Status

    SectionDescriptionStatusComments
    2General Utilities
    2.1Reference wrappers  
    2.1.1Additions to header <functional> synopsisY 
    2.1.2Class template reference_wrapper  
    2.1.2.1reference_wrapper construct/copy/destroyY 
    2.1.2.2reference_wrapper assignmentY 
    2.1.2.3reference_wrapper accessY 
    2.1.2.4reference_wrapper invocationY 
    2.1.2.5reference_wrapper helper functionsY 
    2.2Smart pointers  
    2.2.1Additions to header <memory> synopsisY 
    2.2.2Class bad_weak_ptrY 
    2.2.3Class template shared_ptr 

    Uses code from boost::shared_ptr.

    -
    2.2.3.1shared_ptr constructorsY 
    2.2.3.2shared_ptr destructorY 
    2.2.3.3shared_ptr assignmentY 
    2.2.3.4shared_ptr modifiersY 
    2.2.3.5shared_ptr observersY 
    2.2.3.6shared_ptr comparisonY 
    2.2.3.7shared_ptr I/OY 
    2.2.3.8shared_ptr specialized algorithmsY 
    2.2.3.9shared_ptr castsY 
    2.2.3.10get_deleterY 
    2.2.4Class template weak_ptr  
    2.2.4.1weak_ptr constructorsY 
    2.2.4.2weak_ptr destructorY 
    2.2.4.3weak_ptr assignmentY 
    2.2.4.4weak_ptr modifiersY 
    2.2.4.5weak_ptr observersY 
    2.2.4.6weak_ptr comparisonY 
    2.2.4.7weak_ptr specialized algorithmsY 
    2.2.5Class template enable_shared_from_thisY 
    3Function Objects
    3.1DefinitionsY 
    3.2Additions to <functional> synopsisY 
    3.3RequirementsY 
    3.4Function return typesY 
    3.5Function template mem_fnY 
    3.6Function object binders  
    3.6.1Class template is_bind_expressionY 
    3.6.2Class template is_placeholderY 
    3.6.3Function template bindY 
    3.6.4PlaceholdersY 
    3.7Polymorphic function wrappers  
    3.7.1Class bad_function_callY 
    3.7.1.1bad_function_call constructorY 
    3.7.2Class template function  
    3.7.2.1function construct/copy/destroyY 
    3.7.2.2function modifiersY 
    3.7.2.3function capacityY 
    3.7.2.4function invocationY 
    3.7.2.5function target accessY 
    3.7.2.6undefined operatorsY 
    3.7.2.7null pointer comparison operatorsY 
    3.7.2.8specialized algorithmsY 
    4Metaprogramming and type traits
    4.1RequirementsY 
    4.2Header <type_traits> synopsisY 
    4.3Helper classesY 
    4.4General RequirementsY 
    4.5Unary Type Traits  
    4.5.1Primary Type CategoriesY 
    4.5.2Composite type traitsY 
    4.5.3Type propertiesY 
    4.6Relationships between typesY 
    4.7Transformations between types  
    4.7.1Const-volatile modificationsY 
    4.7.2Reference modificationsY 
    4.7.3Array modificationsY 
    4.7.4Pointer modificationsY 
    4.8Other transformationsY 
    4.9Implementation requirementsY 
    5Numerical Facilities
    5.1Random number generation  
    5.1.1RequirementsY 
    5.1.2Header <random> synopsisY 
    5.1.3Class template variate_generatorY 
    5.1.4Random number engine class templatesY 
    5.1.4.1Class template linear_congruentialY 
    5.1.4.2Class template mersenne_twisterY 
    5.1.4.3Class template subtract_with_carryY 
    5.1.4.4Class template subtract_with_carry_01Y 
    5.1.4.5Class template discard_blockY 
    5.1.4.6Class template xor_combineYoperator()() per N2079
    5.1.5Engines with predefined parametersY 
    5.1.6Class random_deviceY 
    5.1.7Random distribution class templatesY 
    5.1.7.1Class template uniform_intY 
    5.1.7.2Class bernoulli_distributionY 
    5.1.7.3Class template geometric_distributionY 
    5.1.7.4Class template poisson_distributionY 
    5.1.7.5Class template binomial_distributionY 
    5.1.7.6Class template uniform_realY 
    5.1.7.7Class template exponential_distributionY 
    5.1.7.8Class template normal_distributionY 
    5.1.7.9Class template gamma_distributionY 
    5.2Mathematical special functionsY 
    5.2.1Additions to header <cmath> synopsisY 
    5.2.1.1associated Laguerre polynomialsY 
    5.2.1.2associated Legendre functionsY 
    5.2.1.3beta functionY 
    5.2.1.4(complete) elliptic integral of the first kindY 
    5.2.1.5(complete) elliptic integral of the second kindY 
    5.2.1.6(complete) elliptic integral of the third kindY 
    5.2.1.7confluent hypergeometric functionsY 
    5.2.1.8regular modified cylindrical Bessel functionsY 
    5.2.1.9cylindrical Bessel functions (of the first kind)Y 
    5.2.1.10irregular modified cylindrical Bessel functionsY 
    5.2.1.11cylindrical Neumann functionsY 
    5.2.1.12(incomplete) elliptic integral of the first kindY 
    5.2.1.13(incomplete) elliptic integral of the second kindY 
    5.2.1.14(incomplete) elliptic integral of the third kindY 
    5.2.1.15exponential integralY 
    5.2.1.16Hermite polynomialsY 
    5.2.1.17hypergeometric functionsY 
    5.2.1.18Laguerre polynomialsY 
    5.2.1.19Legendre polynomialsY 
    5.2.1.20Riemann zeta functionY 
    5.2.1.21spherical Bessel functions (of the first kind)Y 
    5.2.1.22spherical associated Legendre functionsY 
    5.2.1.23spherical Neumann functionsY 
    5.2.2Additions to header <math.h> synopsisY 
    6Containers
    6.1Tuple typesY 
    6.1.1Header <tuple> synopsisY 
    6.1.2Additions to header <utility> synopsisY 
    6.1.3Class template tupleY 
    6.1.3.1ConstructionY 
    6.1.3.2Tuple creation functionsY 
    6.1.3.3Tuple helper classesY 
    6.1.3.4Element accessY 
    6.1.3.5Relational operatorsY 
    6.1.4PairsY 
    6.2Fixed size arrayY 
    6.2.1Header <array> synopsisY 
    6.2.2Class template arrayY 
    6.2.2.1array constructors, copy, and assignmentY 
    6.2.2.2array specialized algorithmsY 
    6.2.2.3array sizeY 
    6.2.2.4Zero sized arraysY 
    6.2.2.5Tuple interface to class template arrayY 
    6.3Unordered associative containersY 
    6.3.1Unordered associative container requirementsY 
    6.3.1.1Exception safety guaranteesY 
    6.3.2Additions to header <functional> synopsisY 
    6.3.3Class template hashY 
    6.3.4Unordered associative container classesY 
    6.3.4.1Header <unordered_set> synopsisY 
    6.3.4.2Header <unordered_map> synopsisY 
    6.3.4.3Class template unordered_setY 
    6.3.4.3.1unordered_set constructorsY 
    6.3.4.3.2unordered_set swapY 
    6.3.4.4Class template unordered_mapY 
    6.3.4.4.1unordered_map constructorsY 
    6.3.4.4.2unordered_map element accessY 
    6.3.4.4.3unordered_map swapY 
    6.3.4.5Class template unordered_multisetY 
    6.3.4.5.1unordered_multiset constructorsY 
    6.3.4.5.2unordered_multiset swapY 
    6.3.4.6Class template unordered_multimapY 
    6.3.4.6.1unordered_multimap constructorsY 
    6.3.4.6.2unordered_multimap swapY 
    7Regular Expressions
    7.1DefinitionsN 
    7.2RequirementsN 
    7.3Regular expressions summaryN 
    7.4Header <regex> synopsisN 
    7.5Namespace tr1::regex_constantsN 
    7.5.1Bitmask Type syntax_option_typeN 
    7.5.2Bitmask Type regex_constants::match_flag_typeN 
    7.5.3Implementation defined error_typeN 
    7.6Class regex_errorN 
    7.7Class template regex_traitsN 
    7.8Class template basic_regexN 
    7.8.1basic_regex constantsN 
    7.8.2basic_regex constructorsN 
    7.8.3basic_regex assignN 
    7.8.4basic_regex constant operationsN 
    7.8.5basic_regex localeN 
    7.8.6basic_regex swapN 
    7.8.7basic_regex non-member functionsN 
    7.8.7.1basic_regex non-member swapN 
    7.9Class template sub_matchN 
    7.9.1sub_match membersN 
    7.9.2sub_match non-member operatorsN 
    7.10Class template match_resultsN 
    7.10.1match_results constructorsN 
    7.10.2match_results sizeN 
    7.10.3match_results element accessN 
    7.10.4match_results formattingN 
    7.10.5match_results allocatorN 
    7.10.6match_results swapN 
    7.11Regular expression algorithmsN 
    7.11.1exceptionsN 
    7.11.2regex_matchN 
    7.11.3regex_searchN 
    7.11.4regex_replaceN 
    7.12Regular expression IteratorsN 
    7.12.1Class template regex_iteratorN 
    7.12.1.1regex_iterator constructorsN 
    7.12.1.2regex_iterator comparisonsN 
    7.12.1.3regex_iterator dereferenceN 
    7.12.1.4regex_iterator incrementN 
    7.12.2Class template regex_token_iteratorN 
    7.12.2.1regex_token_iterator constructorsN 
    7.12.2.2regex_token_iterator comparisonsN 
    7.12.2.3regex_token_iterator dereferenceN 
    7.12.2.4regex_token_iterator incrementN 
    7.13Modified ECMAScript regular expression grammarN 
    8C Compatibility
    8.1Additions to header <complex>Y 
    8.1.1SynopsisY 
    8.1.2Function acosY 
    8.1.3Function asinY 
    8.1.4Function atanY 
    8.1.5Function acoshY 
    8.1.6Function asinhY 
    8.1.7Function atanhY 
    8.1.8Function fabsY 
    8.1.9Additional OverloadsY 
    8.2Header <ccomplex>NDR 551
    8.3Header <complex.h>NDR 551
    8.4Additions to header <cctype>Y 
    8.4.1SynopsisY 
    8.4.2Function isblankY 
    8.5Additions to header <ctype.h>Y 
    8.6Header <cfenv>Y 
    8.6.1SynopsisY 
    8.6.2DefinitionsY 
    8.7Header <fenv.h>Y 
    8.8Additions to header <cfloat>Y 
    8.9Additions to header <float.h>Y 
    8.10Additions to header <ios>N 
    8.10.1SynopsisN 
    8.10.2Function hexfloatN 
    8.11Header <cinttypes>Y 
    8.11.1SynopsisYDR 557
    8.11.2DefinitionsY 
    8.12Header <inttypes.h>Y 
    8.13Additions to header <climits>Y 
    8.14Additions to header <limits.h>Y 
    8.15Additions to header <locale>N 
    8.16Additions to header <cmath>Y 
    8.16.1SynopsisY 
    8.16.2DefinitionsY 
    8.16.3Function template definitionsY 
    8.16.4Additional overloadsYDR 568; DR 550
    8.17Additions to header <math.h>Y 
    8.18Additions to header <cstdarg>Y 
    8.19Additions to header <stdarg.h>Y 
    8.20The header <cstdbool>Y 
    8.21The header <stdbool.h>Y 
    8.22The header <cstdint>Y 
    8.22.1SynopsisY 
    8.22.2DefinitionsY 
    8.23The header <stdint.h>Y 
    8.24Additions to header <cstdio>Y 
    8.24.1SynopsisY 
    8.24.2DefinitionsY 
    8.24.3Additional format specifiersYC library dependency
    8.24.4Additions to header <stdio.h>Y 
    8.25Additions to header <cstdlib>Y 
    8.25.1SynopsisY 
    8.25.2DefinitionsY 
    8.25.3Function absY 
    8.25.4Function divY 
    8.26Additions to header <stdlib.h>Y 
    8.27Header <ctgmath>YDR 551
    8.28Header <tgmath.h>YDR 551
    8.29Additions to header <ctime>YC library dependency
    8.30Additions to header <cwchar>Y 
    8.30.1SynopsisY 
    8.30.2DefinitionsY 
    8.30.3Additional wide format specifiersYC library dependency
    8.31Additions to header <wchar.h>Y 
    8.32Additions to header <cwctype>Y 
    8.32.1SynopsisY 
    8.32.2Function iswblankY 
    8.33Additions to header <wctype.h>Y 

    2.2.3.1shared_ptr constructorsY 
    2.2.3.2shared_ptr destructorY 
    2.2.3.3shared_ptr assignmentY 
    2.2.3.4shared_ptr modifiersY 
    2.2.3.5shared_ptr observersY 
    2.2.3.6shared_ptr comparisonY 
    2.2.3.7shared_ptr I/OY 
    2.2.3.8shared_ptr specialized algorithmsY 
    2.2.3.9shared_ptr castsY 
    2.2.3.10get_deleterY 
    2.2.4Class template weak_ptr  
    2.2.4.1weak_ptr constructorsY 
    2.2.4.2weak_ptr destructorY 
    2.2.4.3weak_ptr assignmentY 
    2.2.4.4weak_ptr modifiersY 
    2.2.4.5weak_ptr observersY 
    2.2.4.6weak_ptr comparisonY 
    2.2.4.7weak_ptr specialized algorithmsY 
    2.2.5Class template enable_shared_from_thisY 
    3Function Objects
    3.1DefinitionsY 
    3.2Additions to <functional> synopsisY 
    3.3RequirementsY 
    3.4Function return typesY 
    3.5Function template mem_fnY 
    3.6Function object binders  
    3.6.1Class template is_bind_expressionY 
    3.6.2Class template is_placeholderY 
    3.6.3Function template bindY 
    3.6.4PlaceholdersY 
    3.7Polymorphic function wrappers  
    3.7.1Class bad_function_callY 
    3.7.1.1bad_function_call constructorY 
    3.7.2Class template function  
    3.7.2.1function construct/copy/destroyY 
    3.7.2.2function modifiersY 
    3.7.2.3function capacityY 
    3.7.2.4function invocationY 
    3.7.2.5function target accessY 
    3.7.2.6undefined operatorsY 
    3.7.2.7null pointer comparison operatorsY 
    3.7.2.8specialized algorithmsY 
    4Metaprogramming and type traits
    4.1RequirementsY 
    4.2Header <type_traits> synopsisY 
    4.3Helper classesY 
    4.4General RequirementsY 
    4.5Unary Type Traits  
    4.5.1Primary Type CategoriesY 
    4.5.2Composite type traitsY 
    4.5.3Type propertiesY 
    4.6Relationships between typesY 
    4.7Transformations between types  
    4.7.1Const-volatile modificationsY 
    4.7.2Reference modificationsY 
    4.7.3Array modificationsY 
    4.7.4Pointer modificationsY 
    4.8Other transformationsY 
    4.9Implementation requirementsY 
    5Numerical Facilities
    5.1Random number generation  
    5.1.1RequirementsY 
    5.1.2Header <random> synopsisY 
    5.1.3Class template variate_generatorY 
    5.1.4Random number engine class templatesY 
    5.1.4.1Class template linear_congruentialY 
    5.1.4.2Class template mersenne_twisterY 
    5.1.4.3Class template subtract_with_carryY 
    5.1.4.4Class template subtract_with_carry_01Y 
    5.1.4.5Class template discard_blockY 
    5.1.4.6Class template xor_combineYoperator()() per N2079
    5.1.5Engines with predefined parametersY 
    5.1.6Class random_deviceY 
    5.1.7Random distribution class templatesY 
    5.1.7.1Class template uniform_intY 
    5.1.7.2Class bernoulli_distributionY 
    5.1.7.3Class template geometric_distributionY 
    5.1.7.4Class template poisson_distributionY 
    5.1.7.5Class template binomial_distributionY 
    5.1.7.6Class template uniform_realY 
    5.1.7.7Class template exponential_distributionY 
    5.1.7.8Class template normal_distributionY 
    5.1.7.9Class template gamma_distributionY 
    5.2Mathematical special functionsY 
    5.2.1Additions to header <cmath> synopsisY 
    5.2.1.1associated Laguerre polynomialsY 
    5.2.1.2associated Legendre functionsY 
    5.2.1.3beta functionY 
    5.2.1.4(complete) elliptic integral of the first kindY 
    5.2.1.5(complete) elliptic integral of the second kindY 
    5.2.1.6(complete) elliptic integral of the third kindY 
    5.2.1.7confluent hypergeometric functionsY 
    5.2.1.8regular modified cylindrical Bessel functionsY 
    5.2.1.9cylindrical Bessel functions (of the first kind)Y 
    5.2.1.10irregular modified cylindrical Bessel functionsY 
    5.2.1.11cylindrical Neumann functionsY 
    5.2.1.12(incomplete) elliptic integral of the first kindY 
    5.2.1.13(incomplete) elliptic integral of the second kindY 
    5.2.1.14(incomplete) elliptic integral of the third kindY 
    5.2.1.15exponential integralY 
    5.2.1.16Hermite polynomialsY 
    5.2.1.17hypergeometric functionsY 
    5.2.1.18Laguerre polynomialsY 
    5.2.1.19Legendre polynomialsY 
    5.2.1.20Riemann zeta functionY 
    5.2.1.21spherical Bessel functions (of the first kind)Y 
    5.2.1.22spherical associated Legendre functionsY 
    5.2.1.23spherical Neumann functionsY 
    5.2.2Additions to header <math.h> synopsisY 
    6Containers
    6.1Tuple typesY 
    6.1.1Header <tuple> synopsisY 
    6.1.2Additions to header <utility> synopsisY 
    6.1.3Class template tupleY 
    6.1.3.1ConstructionY 
    6.1.3.2Tuple creation functionsY 
    6.1.3.3Tuple helper classesY 
    6.1.3.4Element accessY 
    6.1.3.5Relational operatorsY 
    6.1.4PairsY 
    6.2Fixed size arrayY 
    6.2.1Header <array> synopsisY 
    6.2.2Class template arrayY 
    6.2.2.1array constructors, copy, and assignmentY 
    6.2.2.2array specialized algorithmsY 
    6.2.2.3array sizeY 
    6.2.2.4Zero sized arraysY 
    6.2.2.5Tuple interface to class template arrayY 
    6.3Unordered associative containersY 
    6.3.1Unordered associative container requirementsY 
    6.3.1.1Exception safety guaranteesY 
    6.3.2Additions to header <functional> synopsisY 
    6.3.3Class template hashY 
    6.3.4Unordered associative container classesY 
    6.3.4.1Header <unordered_set> synopsisY 
    6.3.4.2Header <unordered_map> synopsisY 
    6.3.4.3Class template unordered_setY 
    6.3.4.3.1unordered_set constructorsY 
    6.3.4.3.2unordered_set swapY 
    6.3.4.4Class template unordered_mapY 
    6.3.4.4.1unordered_map constructorsY 
    6.3.4.4.2unordered_map element accessY 
    6.3.4.4.3unordered_map swapY 
    6.3.4.5Class template unordered_multisetY 
    6.3.4.5.1unordered_multiset constructorsY 
    6.3.4.5.2unordered_multiset swapY 
    6.3.4.6Class template unordered_multimapY 
    6.3.4.6.1unordered_multimap constructorsY 
    6.3.4.6.2unordered_multimap swapY 
    7Regular Expressions
    7.1DefinitionsN 
    7.2RequirementsN 
    7.3Regular expressions summaryN 
    7.4Header <regex> synopsisN 
    7.5Namespace tr1::regex_constantsN 
    7.5.1Bitmask Type syntax_option_typeN 
    7.5.2Bitmask Type regex_constants::match_flag_typeN 
    7.5.3Implementation defined error_typeN 
    7.6Class regex_errorN 
    7.7Class template regex_traitsN 
    7.8Class template basic_regexN 
    7.8.1basic_regex constantsN 
    7.8.2basic_regex constructorsN 
    7.8.3basic_regex assignN 
    7.8.4basic_regex constant operationsN 
    7.8.5basic_regex localeN 
    7.8.6basic_regex swapN 
    7.8.7basic_regex non-member functionsN 
    7.8.7.1basic_regex non-member swapN 
    7.9Class template sub_matchN 
    7.9.1sub_match membersN 
    7.9.2sub_match non-member operatorsN 
    7.10Class template match_resultsN 
    7.10.1match_results constructorsN 
    7.10.2match_results sizeN 
    7.10.3match_results element accessN 
    7.10.4match_results formattingN 
    7.10.5match_results allocatorN 
    7.10.6match_results swapN 
    7.11Regular expression algorithmsN 
    7.11.1exceptionsN 
    7.11.2regex_matchN 
    7.11.3regex_searchN 
    7.11.4regex_replaceN 
    7.12Regular expression IteratorsN 
    7.12.1Class template regex_iteratorN 
    7.12.1.1regex_iterator constructorsN 
    7.12.1.2regex_iterator comparisonsN 
    7.12.1.3regex_iterator dereferenceN 
    7.12.1.4regex_iterator incrementN 
    7.12.2Class template regex_token_iteratorN 
    7.12.2.1regex_token_iterator constructorsN 
    7.12.2.2regex_token_iterator comparisonsN 
    7.12.2.3regex_token_iterator dereferenceN 
    7.12.2.4regex_token_iterator incrementN 
    7.13Modified ECMAScript regular expression grammarN 
    8C Compatibility
    8.1Additions to header <complex>Y 
    8.1.1SynopsisY 
    8.1.2Function acosY 
    8.1.3Function asinY 
    8.1.4Function atanY 
    8.1.5Function acoshY 
    8.1.6Function asinhY 
    8.1.7Function atanhY 
    8.1.8Function fabsY 
    8.1.9Additional OverloadsY 
    8.2Header <ccomplex>NDR 551
    8.3Header <complex.h>NDR 551
    8.4Additions to header <cctype>Y 
    8.4.1SynopsisY 
    8.4.2Function isblankY 
    8.5Additions to header <ctype.h>Y 
    8.6Header <cfenv>Y 
    8.6.1SynopsisY 
    8.6.2DefinitionsY 
    8.7Header <fenv.h>Y 
    8.8Additions to header <cfloat>Y 
    8.9Additions to header <float.h>Y 
    8.10Additions to header <ios>N 
    8.10.1SynopsisN 
    8.10.2Function hexfloatN 
    8.11Header <cinttypes>Y 
    8.11.1SynopsisYDR 557
    8.11.2DefinitionsY 
    8.12Header <inttypes.h>Y 
    8.13Additions to header <climits>Y 
    8.14Additions to header <limits.h>Y 
    8.15Additions to header <locale>N 
    8.16Additions to header <cmath>Y 
    8.16.1SynopsisY 
    8.16.2DefinitionsY 
    8.16.3Function template definitionsY 
    8.16.4Additional overloadsYDR 568; DR 550
    8.17Additions to header <math.h>Y 
    8.18Additions to header <cstdarg>Y 
    8.19Additions to header <stdarg.h>Y 
    8.20The header <cstdbool>Y 
    8.21The header <stdbool.h>Y 
    8.22The header <cstdint>Y 
    8.22.1SynopsisY 
    8.22.2DefinitionsY 
    8.23The header <stdint.h>Y 
    8.24Additions to header <cstdio>Y 
    8.24.1SynopsisY 
    8.24.2DefinitionsY 
    8.24.3Additional format specifiersYC library dependency
    8.24.4Additions to header <stdio.h>Y 
    8.25Additions to header <cstdlib>Y 
    8.25.1SynopsisY 
    8.25.2DefinitionsY 
    8.25.3Function absY 
    8.25.4Function divY 
    8.26Additions to header <stdlib.h>Y 
    8.27Header <ctgmath>YDR 551
    8.28Header <tgmath.h>YDR 551
    8.29Additions to header <ctime>YC library dependency
    8.30Additions to header <cwchar>Y 
    8.30.1SynopsisY 
    8.30.2DefinitionsY 
    8.30.3Additional wide format specifiersYC library dependency
    8.31Additions to header <wchar.h>Y 
    8.32Additions to header <cwctype>Y 
    8.32.1SynopsisY 
    8.32.2Function iswblankY 
    8.33Additions to header <wctype.h>Y 

    For behaviour which is specified by the 1998 and 2003 standards, + see C++ 1998/2003 Implementation + Specific Behavior. This section documents behaviour which + is required by TR1. +

    + 3.6.4 [tr.func.bind.place]/1 There are 29 + placeholders defined and the placeholder types are + Assignable. +

    This table is based on the table of contents of ISO/IEC TR 24733 Date: 2009-08-28 Extension for the programming language C++ to support @@ -260,7 +311,7 @@ decimal floating-point arithmetic

    This page describes the TR 24733 support in mainline GCC SVN, not in any particular release. -

    Table 1.4. C++ TR 24733 Implementation Status

    This part deals with the functions called and objects created automatically during the course of a program's existence. diff --git a/libstdc++-v3/doc/html/manual/test.html b/libstdc++-v3/doc/html/manual/test.html index 19c51d26ffba..c1c7d8e9eecb 100644 --- a/libstdc++-v3/doc/html/manual/test.html +++ b/libstdc++-v3/doc/html/manual/test.html @@ -493,7 +493,7 @@ only default variables. reporting functions including:

    • time_counter

    • resource_counter

    • report_performance

    Testing is composed of running a particular test sequence, and looking at what happens to the surrounding code when diff --git a/libstdc++-v3/doc/html/manual/using.html b/libstdc++-v3/doc/html/manual/using.html index 29905cd7cc6b..c297929d163d 100644 --- a/libstdc++-v3/doc/html/manual/using.html +++ b/libstdc++-v3/doc/html/manual/using.html @@ -11,5 +11,5 @@ enumerated and detailed in the table below.

    By default, g++ is equivalent to g++ -std=gnu++98. The standard library also defaults to this dialect. -

    Table 3.1. C++ Command Options

    Option FlagsDescription
    -std=c++98Use the 1998 ISO C++ standard plus amendments.
    -std=gnu++98As directly above, with GNU extensions.
    -std=c++11Use the 2011 ISO C++ standard.
    -std=gnu++11As directly above, with GNU extensions.
    -fexceptionsSee exception-free dialect
    -frttiAs above, but RTTI-free dialect.
    -pthread or -pthreadsFor ISO C++11 <thread>, <future>, +


    diff --git a/libstdc++-v3/doc/html/manual/using_concurrency.html b/libstdc++-v3/doc/html/manual/using_concurrency.html index e0c729263cd9..2d203bb93fdf 100644 --- a/libstdc++-v3/doc/html/manual/using_concurrency.html +++ b/libstdc++-v3/doc/html/manual/using_concurrency.html @@ -29,7 +29,7 @@ to display how ad hoc this is: On Solaris, both -pthreads and -threads (with subtly different meanings) are honored. On OSF, -pthread and -threads (with subtly different meanings) are - honored. On Linux/i386, -pthread is honored. On FreeBSD, + honored. On GNU/Linux x86, -pthread is honored. On FreeBSD, -pthread is honored. Some other ports use other switches. AFAIK, none of this is properly documented anywhere other than in ``gcc -dumpspecs'' (look at lib and cpp entries). diff --git a/libstdc++-v3/doc/html/manual/using_dynamic_or_shared.html b/libstdc++-v3/doc/html/manual/using_dynamic_or_shared.html index 4d1d6745b73f..1c04a6f58445 100644 --- a/libstdc++-v3/doc/html/manual/using_dynamic_or_shared.html +++ b/libstdc++-v3/doc/html/manual/using_dynamic_or_shared.html @@ -76,7 +76,7 @@ A quick read of the relevant part of the GCC the linker. The exact format of the options is dependent on which linker you use:

    • - GNU ld (default on Linux): + GNU ld (default on GNU/Linux): -Wl,-rpath,destdir/lib

    • IRIX ld: @@ -92,7 +92,7 @@ A quick read of the relevant part of the GCC On some platforms the system administrator can configure the dynamic linker to always look for libraries in destdir/lib, for example - by using the ldconfig utility on Linux + by using the ldconfig utility on GNU/Linux or the crle utility on Solaris. This is a system-wide change which can make the system unusable so if you are unsure then use one of the other methods described above. diff --git a/libstdc++-v3/doc/html/manual/using_exceptions.html b/libstdc++-v3/doc/html/manual/using_exceptions.html index ad340b234d3d..b7f0118573ae 100644 --- a/libstdc++-v3/doc/html/manual/using_exceptions.html +++ b/libstdc++-v3/doc/html/manual/using_exceptions.html @@ -266,7 +266,7 @@ is called. } catch(...) { this->_M_setstate(ios_base::badbit); } -

    System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008) @@ -275,39 +275,39 @@ is called. . Copyright © 2008 The Open Group/The Institute of Electrical and Electronics Engineers, Inc. - .

    Error and Exception Handling . David Abrahams . Boost - .

    Standard Library Exception Policy . Matt Austern. WG21 N1077 - .

    ia64 c++ abi exception handling . Richard Henderson. GNU - .

    GCC Bug 25191: exception_defines.h #defines try/catch diff --git a/libstdc++-v3/doc/html/manual/using_headers.html b/libstdc++-v3/doc/html/manual/using_headers.html index 2b843bbef55d..a4d24e236e02 100644 --- a/libstdc++-v3/doc/html/manual/using_headers.html +++ b/libstdc++-v3/doc/html/manual/using_headers.html @@ -19,19 +19,19 @@ the 1998 standard as updated for 2003, and the current 2011 standard.

    C++98/03 include files. These are available in the default compilation mode, i.e. -std=c++98 or -std=gnu++98. -



    +



    C++11 include files. These are only available in C++11 compilation mode, i.e. -std=c++11 or -std=gnu++11. -



    +



    In addition, TR1 includes as: -



    Decimal floating-point arithmetic is available if the C++ +



    Decimal floating-point arithmetic is available if the C++ compiler supports scalar decimal floating-point types defined via __attribute__((mode(SD|DD|LD))). -


    +


    Also included are files for the C++ ABI interface: -


    +


    And a large variety of extensions. -





     Next

    diff --git a/libstdc++-v3/doc/xml/manual/abi.xml b/libstdc++-v3/doc/xml/manual/abi.xml index b79075df36a8..6dc741363894 100644 --- a/libstdc++-v3/doc/xml/manual/abi.xml +++ b/libstdc++-v3/doc/xml/manual/abi.xml @@ -164,28 +164,14 @@ compatible. - 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 + 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.x, gcc-4.[0-5].x: libgcc_s.so.1 + GCC 3.4, GCC 4.x: libgcc_s.so.1 when configuring --with-sjlj-exceptions, or libgcc_s.so.2 @@ -193,10 +179,10 @@ compatible. For hppa-linux the versions differ as follows: - gcc-3.4.x, gcc-4.[0-1].x: either libgcc_s.so.1 + 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 + GCC 4.[2-7]: either libgcc_s.so.3 when configuring --with-sjlj-exceptions) or libgcc_s.so.4 @@ -213,19 +199,22 @@ compatible. 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 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 @@ -241,54 +230,47 @@ compatible. DT_SONAMEs 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. @@ -312,49 +294,51 @@ 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 + 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.) @@ -370,13 +354,13 @@ compatible. 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) + 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) @@ -389,11 +373,11 @@ compatible. 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) + 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) @@ -409,55 +393,69 @@ compatible. 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 @@ -467,7 +465,7 @@ compatible. 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). @@ -482,23 +480,23 @@ compatible. 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" @@ -506,62 +504,38 @@ compatible. 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 @@ -989,8 +963,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.