From: Jonathan Wakely Date: Fri, 1 May 2015 11:02:24 +0000 (+0100) Subject: intro.xml: Link to new status_cxx2017.xml file. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1d15ed75abb8a7f54cd33f554c977856b025222d;p=gcc.git intro.xml: Link to new status_cxx2017.xml file. * doc/xml/manual/intro.xml: Link to new status_cxx2017.xml file. * doc/xml/manual/status_cxx2011.xml: Update status tables. * doc/xml/manual/status_cxx2014.xml: Likewise. * doc/xml/manual/status_cxx2017.xml: New. * doc/xml/manual/using.xml: Fix typo. * doc/html/*: Regenerate. From-SVN: r222675 --- diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index f777328c940..012e3fec31c 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,12 @@ 2015-05-01 Jonathan Wakely + * doc/xml/manual/intro.xml: Link to new status_cxx2017.xml file. + * doc/xml/manual/status_cxx2011.xml: Update status tables. + * doc/xml/manual/status_cxx2014.xml: Likewise. + * doc/xml/manual/status_cxx2017.xml: New. + * doc/xml/manual/using.xml: Fix typo. + * doc/html/*: Regenerate. + * include/std/memory (pointer_safety, declare_reachable, undeclare_reachable, declare_no_pointers, undeclare_no_pointers, get_pointer_safety): Define. diff --git a/libstdc++-v3/doc/html/index.html b/libstdc++-v3/doc/html/index.html index bd2c58e3714..1d2815ce2bf 100644 --- a/libstdc++-v3/doc/html/index.html +++ b/libstdc++-v3/doc/html/index.html @@ -23,7 +23,7 @@


Table of Contents

The GNU C++ Library Manual
I. Introduction -
1. Status
Implementation Status
C++ 1998/2003
Implementation Status
Implementation Specific Behavior
C++ 2011
Implementation Specific Behavior
C++ 2014
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
Dual ABI
Troubleshooting
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++ 2014
C++ 201z
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
Dual ABI
Troubleshooting
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 diff --git a/libstdc++-v3/doc/html/manual/index.html b/libstdc++-v3/doc/html/manual/index.html index b6f34fa29aa..73d86b0aa9d 100644 --- a/libstdc++-v3/doc/html/manual/index.html +++ b/libstdc++-v3/doc/html/manual/index.html @@ -4,7 +4,7 @@


Table of Contents

I. Introduction -
1. Status
Implementation Status
C++ 1998/2003
Implementation Status
Implementation Specific Behavior
C++ 2011
Implementation Specific Behavior
C++ 2014
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
Dual ABI
Troubleshooting
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++ 2014
C++ 201z
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
Dual ABI
Troubleshooting
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 @@ -149,7 +149,7 @@ Support for C++11 dialect.
22.10. Non-unique Mapping Containers
22.11. Point Iterator Hierarchy
22.12. Invalidation Guarantee Tags Hierarchy
22.13. Container Tag Hierarchy
22.14. Hash functions, ranged-hash functions, and range-hashing functions
22.15. Insert hash sequence diagram
22.16. Insert hash sequence diagram with a null policy
22.17. Hash policy class diagram
22.18. Balls and bins
22.19. Insert resize sequence diagram
22.20. Standard resize policy trigger sequence diagram
22.21. Standard resize policy size sequence - diagram
22.22. Tree node invariants
22.23. Tree node invalidation
22.24. A tree and its update policy
22.25. Restoring node invariants
22.26. Insert update sequence
22.27. Useless update path
22.28. A PATRICIA trie
22.29. A trie and its update policy
22.30. A simple list
22.31. The counter algorithm
22.32. Underlying Priority-Queue Data-Structures.
22.33. Priority-Queue Data-Structure Tags.
B.1. Configure and Build File Dependencies
\ No newline at end of file + \ No newline at end of file diff --git a/libstdc++-v3/doc/html/manual/status.html b/libstdc++-v3/doc/html/manual/status.html index 40e3323c555..6bd6c508431 100644 --- a/libstdc++-v3/doc/html/manual/status.html +++ b/libstdc++-v3/doc/html/manual/status.html @@ -2,7 +2,7 @@ Chapter 1. Status

Chapter 1. Status

Implementation Status

C++ 1998/2003

Implementation Status

+ Next


Chapter 1. Status

Implementation Status

C++ 1998/2003

Implementation 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 @@ -148,8 +148,8 @@ 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++

-In this implementation -std=gnu++11 or --std=c++11 flags must be used to enable language +In this implementation the -std=gnu++11 or +-std=c++11 flag must be used to enable language and library features. See dialect options. The pre-defined symbol @@ -170,11 +170,9 @@ 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 traitsY 20.6.4Pointer safetyPartial 20.6.5AlignY 20.6.6Allocator argument tagY 20.6.7uses_allocatorY 20.6.8Allocator traitsY 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 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 traitsY 20.6.4Pointer safetyY 20.6.5AlignY 20.6.6Allocator argument tagY 20.6.7uses_allocatorY 20.6.8Allocator traitsY 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. -

20.7.2.3Class template weak_ptrY 20.7.2.4Class template emable_shared_from_thisY 20.7.2.5shared_ptr atomic accessY 20.7.2.6Smart pointer hash supportY 20.8Function objects  20.8.1Definitions  20.8.2Requirements  20.8.3Class template reference_wrapperY 20.8.4Arithmetic operationY 20.8.5ComparisonsY 20.8.6Logical operationsY 20.8.7Bitwise operationsY 20.8.8NegatorsY 20.8.9Function template bindY 20.8.10Function template mem_fnY 20.8.11Polymorphic function wrappers  20.8.11.1Class bad_function_callY 20.8.11.2Class template functionPartialMissing allocator support20.8.12Class template hashY 20.9Metaprogramming and type traits  20.9.1RequirementsY 20.9.2Header <type_traits> synopsis  20.9.3Helper classesY 20.9.4Unary Type TraitsY 20.9.4.1Primary type categoriesY 20.9.4.2Composite type traitsY 20.9.4.3Type propertiesY 20.9.5Type property queriesY 20.9.6Relationships between typesY 20.9.7Transformations between types  20.9.7.1Const-volatile modificationsY 20.9.7.2Reference modificationsY 20.9.7.3Sign modificationsY 20.9.7.4Array modificationsY 20.9.7.5Pointer modificationsY 20.9.7.6Other transformationsY 20.10Compile-time rational arithmetic  20.10.1In general  20.10.2Header <ratio> synopsis  20.10.3Class template ratioY 20.10.4Arithmetic on ratiosY 20.10.5Comparison of ratiosY 20.10.6SI types for ratioY 20.11Time utilities  20.11.3Clock requirementsY 20.11.4Time-related traits  20.11.4.1treat_as_floating_pointY 20.11.4.2duration_valuesY 20.11.4.3Specializations of common_typeY 20.11.5Class template durationY 20.11.6Class template time_pointY 20.11.7Clocks  20.11.7.1Class system_clockY 20.11.7.2Class steady_clockY 20.11.7.3Class high_resolution_clockY 20.11.8Date and time functionsY 20.12Scoped allocator adaptorY 20.12.1Header <scoped_allocator> synopsis  20.12.2Scoped allocator adaptor member typesY 20.12.3Scoped allocator adaptor constructorsY 20.12.4Scoped allocator adaptor membersPartialOUTERMOST is not recursive.20.12.5Scoped allocator operatorsY 20.13Class type_indexY  21 @@ -326,8 +324,8 @@ particular release. overloaded operators to support bitmask operations. There are no additional bitmask elements defined.

C++ 2014

-In this implementation -std=gnu++1y or --std=c++1y flags must be used to enable language +In this implementation the -std=gnu++14 or +-std=c++14 flag must be used to enable language and library features. See dialect options. The pre-defined symbol @@ -392,7 +390,7 @@ not in any particular release. N3659 - Shared Locking in C++YNeed tests + Shared Locking in C++Y  N3421 @@ -452,11 +450,85 @@ not in any particular release. N3932 - Variable Templates For Type TraitsYLibrary Fundamentals TS - - N3940 + Variable Templates For Type TraitsYLibrary Fundamentals TS + + N4100 + + File SystemY 


C++ 201z

+In this implementation the -std=gnu++1z or +-std=c++1z flag must be used to enable language +and library +features. See dialect +options. The pre-defined symbol +__cplusplus is used to check for the +presence of the required flag. +

+This page describes the C++1z and library TS support in mainline GCC SVN, +not in any particular release. +

Table 1.5. C++ 201z Implementation Status

PaperTitleStatusComments
+ + N4259 + + Wording for std::uncaught_exceptionsY 
+ + N4190 + + + Removing auto_ptr, random_shuffle(), + And Old <functional> Stuff + N 
+ + N4284 + + Contiguous Iterators YNo code changes required
+ + N4089 + + Safe conversions in unique_ptr<T[]> N 
+ + N4277 + + TriviallyCopyable reference_wrapper Y 
+ + N4258 + + Cleaning-up noexcept in the LibraryPartial 
+ + N4279 + + Improved insertion interface for unique-key mapsN 
+ + N3911 + + Transformation Trait Alias void_tY 
+ + N4169 + + A proposal to add invoke function templateN 
+ + N4280 + + Non-member size() and moreN 

Table 1.6. C++ Technical Specifications Implementation Status

PaperTitleStatusComments
+ + N4076 + + A generalized callable negatorYLibrary Fundamentals 2 TS
+ + N4273 + + Uniform Container ErasureYLibrary Fundamentals 2 TS
+ + N4061 + + Greatest Common Divisor and Least Common MultipleNLibrary Fundamentals 2 TS
+ + N4257 + + Delimited iteratorsNLibrary Fundamentals 2 TS
+ + N4282 - File SystemWIP 

C++ TR1

+ The World's Dumbest Smart PointerNLibrary Fundamentals 2 TS


C++ TR1

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 @@ -467,7 +539,7 @@ 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.5. 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.7. 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. @@ -488,7 +560,7 @@ decimal floating-point arithmetic

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

Table 1.6. C++ TR 24733 Implementation Status

SectionDescriptionStatusComments
+

Table 1.8. C++ TR 24733 Implementation Status

SectionDescriptionStatusComments
0 Introduction diff --git a/libstdc++-v3/doc/xml/manual/intro.xml b/libstdc++-v3/doc/xml/manual/intro.xml index 2dd833d7f27..b5210895687 100644 --- a/libstdc++-v3/doc/xml/manual/intro.xml +++ b/libstdc++-v3/doc/xml/manual/intro.xml @@ -33,11 +33,15 @@ - + + + + + - + diff --git a/libstdc++-v3/doc/xml/manual/status_cxx2011.xml b/libstdc++-v3/doc/xml/manual/status_cxx2011.xml index 965df13a234..2b99b9d1970 100644 --- a/libstdc++-v3/doc/xml/manual/status_cxx2011.xml +++ b/libstdc++-v3/doc/xml/manual/status_cxx2011.xml @@ -17,8 +17,8 @@ Final Draft International Standard, Standard for Programming Language C++ -In this implementation -std=gnu++11 or --std=c++11 flags must be used to enable language +In this implementation the -std=gnu++11 or +-std=c++11 flag must be used to enable language and library features. See dialect options. The pre-defined symbol @@ -529,10 +529,9 @@ particular release. - 20.6.4 Pointer safety - Partial + Y @@ -642,10 +641,8 @@ particular release. Class template shared_ptr Y - Uses code from boost::shared_ptr. - diff --git a/libstdc++-v3/doc/xml/manual/status_cxx2014.xml b/libstdc++-v3/doc/xml/manual/status_cxx2014.xml index fc3299584fb..d022ea41227 100644 --- a/libstdc++-v3/doc/xml/manual/status_cxx2014.xml +++ b/libstdc++-v3/doc/xml/manual/status_cxx2014.xml @@ -10,8 +10,8 @@ -In this implementation -std=gnu++1y or --std=c++1y flags must be used to enable language +In this implementation the -std=gnu++14 or +-std=c++14 flag must be used to enable language and library features. See dialect options. The pre-defined symbol @@ -196,7 +196,7 @@ not in any particular release. Shared Locking in C++ Y - Need tests + @@ -395,14 +395,13 @@ not in any particular release. - - - N3940 + + N4100 File System - WIP + Y diff --git a/libstdc++-v3/doc/xml/manual/status_cxx2017.xml b/libstdc++-v3/doc/xml/manual/status_cxx2017.xml new file mode 100644 index 00000000000..b08e1b12229 --- /dev/null +++ b/libstdc++-v3/doc/xml/manual/status_cxx2017.xml @@ -0,0 +1,251 @@ +
+ + +C++ 201z + + ISO C++ + 201z + + + + +In this implementation the -std=gnu++1z or +-std=c++1z flag must be used to enable language +and library +features. See dialect +options. The pre-defined symbol +__cplusplus is used to check for the +presence of the required flag. + + + +This page describes the C++1z and library TS support in mainline GCC SVN, +not in any particular release. + + + +C++ 201z Implementation Status + + + + + + + + + Paper + Title + Status + Comments + + + + + + + + + N4259 + + + Wording for std::uncaught_exceptions + Y + + + + + + + + N4190 + + + + Removing auto_ptr, random_shuffle(), + And Old <functional> Stuff + + N + + + + + + + N4284 + + + Contiguous Iterators + Y + No code changes required + + + + + + + N4089 + + + Safe conversions in unique_ptr<T[]> + N + + + + + + + N4277 + + + TriviallyCopyable reference_wrapper + Y + + + + + + + + N4258 + + + Cleaning-up noexcept in the Library + Partial + + + + + + + + N4279 + + + Improved insertion interface for unique-key maps + N + + + + + + + N3911 + + + Transformation Trait Alias void_t + Y + + + + + + + + N4169 + + + A proposal to add invoke function template + N + + + + + + + + N4280 + + + Non-member size() and more + N + + + + + +
+ + + +C++ Technical Specifications Implementation Status + + + + + + + + + Paper + Title + Status + Comments + + + + + + + + + N4076 + + + A generalized callable negator + Y + Library Fundamentals 2 TS + + + + + + N4273 + + + Uniform Container Erasure + Y + Library Fundamentals 2 TS + + + + + + + N4061 + + + Greatest Common Divisor and Least Common Multiple + N + Library Fundamentals 2 TS + + + + + + + N4257 + + + Delimited iterators + N + Library Fundamentals 2 TS + + + + + + + N4282 + + + The World's Dumbest Smart Pointer + N + Library Fundamentals 2 TS + + + + +
+ +
diff --git a/libstdc++-v3/doc/xml/manual/using.xml b/libstdc++-v3/doc/xml/manual/using.xml index 8b4af1a5ed2..34b4883cfec 100644 --- a/libstdc++-v3/doc/xml/manual/using.xml +++ b/libstdc++-v3/doc/xml/manual/using.xml @@ -996,7 +996,7 @@ g++ -Winvalid-pch -I. -include stdc++.h -H -g -O2 hello.cc -o test.exe
Although the standard exception types defined in - <stdexcept> use strings, they + <stdexcept> use strings, they are not defined twice, so that a std::out_of_range exception thrown in one file can always be caught by a suitable handler in another file, even if the two files are compiled with different ABIs.