From 90c9b2c17688f7be434415e90c5a655a6ecfaa9e Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Mon, 1 Feb 2021 15:39:24 +0000 Subject: [PATCH] libstdc++: Update C++17 status table for libstdc++-v3/ChangeLog: * doc/xml/manual/status_cxx2011.xml: Update std::call_once status. * doc/xml/manual/status_cxx2014.xml: Likewise. * doc/xml/manual/status_cxx2017.xml: Likewise. Update std::from_chars and std::to_chars status. Fix formatting. * doc/html/manual/status.html: Regenerate. --- libstdc++-v3/doc/html/manual/status.html | 27 ++++++++++--------- .../doc/xml/manual/status_cxx2011.xml | 7 ++--- .../doc/xml/manual/status_cxx2014.xml | 5 ++-- .../doc/xml/manual/status_cxx2017.xml | 24 ++++++++--------- 4 files changed, 33 insertions(+), 30 deletions(-) diff --git a/libstdc++-v3/doc/html/manual/status.html b/libstdc++-v3/doc/html/manual/status.html index 334e093c00c..b8d9020f64d 100644 --- a/libstdc++-v3/doc/html/manual/status.html +++ b/libstdc++-v3/doc/html/manual/status.html @@ -214,8 +214,9 @@ particular release. 30 Thread support - 30.1GeneralY 30.2RequirementsY 30.3Threads  30.3.1Class threadPartialthread::id comparisons not well-defined30.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_onceBrokenSee PR - 66146 + 30.1GeneralY 30.2RequirementsY 30.3Threads  30.3.1Class threadPartialthread::id comparisons not well-defined30.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_onceYException support is broken on non-Linux targets. + See PR + 66146. 30.5Condition variablesY 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 promiseY 30.6.6Class template futureY 30.6.7Class template shared_futureY 30.6.8Function template asyncY 30.6.9Class template packaged_taskY  Appendix D @@ -470,8 +471,9 @@ not in any particular release. 30 Thread support - 30.1GeneralY 30.2RequirementsY 30.3Threads  30.3.1Class threadPartialthread::id comparisons not well-defined30.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.1.4Shared timed mutex types  30.4.1.4.1Class shared_timed_mutexY 30.4.2Locks  30.4.2.1Class template lock_guardY 30.4.2.2Class template unique_lockY 30.4.2.3Class template shared_lockY 30.4.3Generic locking algorithmsY 30.4.4Call once  30.4.4.1Struct once_flagY 30.4.4.2Function call_onceBrokenSee PR - 66146 + 30.1GeneralY 30.2RequirementsY 30.3Threads  30.3.1Class threadPartialthread::id comparisons not well-defined30.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.1.4Shared timed mutex types  30.4.1.4.1Class shared_timed_mutexY 30.4.2Locks  30.4.2.1Class template lock_guardY 30.4.2.2Class template unique_lockY 30.4.2.3Class template shared_lockY 30.4.3Generic locking algorithmsY 30.4.4Call once  30.4.4.1Struct once_flagY 30.4.4.2Function call_onceBrokenException support is broken on non-Linux targets. + See PR + 66146. 30.5Condition variablesY 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 promiseY 30.6.6Class template futureY 30.6.7Class template shared_futureY 30.6.8Function template asyncY 30.6.9Class template packaged_taskY  Appendix D @@ -707,7 +709,7 @@ Feature-testing recommendations for C++. P0185R1 - 7 (__is_swappable available since 6.1) __cpp_lib_is_swappable >= 201603 is_callable, the missing INVOKE related trait + 7.1 (__is_swappable available since 6.1) __cpp_lib_is_swappable >= 201603 is_callable, the missing INVOKE related trait P0077R2 @@ -777,7 +779,7 @@ Feature-testing recommendations for C++. P0024R2 - 9.1 __has_include(<execution>) , + 9.1 __has_include(<execution>), __cpp_lib_execution >= 201603 , __cpp_lib_parallel_algorithm >= 201603 (requires linking with -ltbb, see Note 3) @@ -803,7 +805,7 @@ Feature-testing recommendations for C++. P0218R1 - 8.1 __has_include(<filesystem>) , + 8.1 __has_include(<filesystem>), __cpp_lib_filesystem >= 201603 (GCC 8.x requires linking with -lstdc++fs) Relative Paths for Filesystem @@ -835,11 +837,11 @@ Feature-testing recommendations for C++. P0298R3 7.1 __cpp_lib_byte >= 201603 (since 7.3, see Note 2) - Elementary string conversions + Elementary string conversions P0067R5 - 8.1 (only integral types supported) __has_include(<charconv>) + 11.1 (integral types supported since 8.1) __has_include(<charconv>), __cpp_lib_to_chars >= 201611 Homogeneous interface for variant, any and optional P0032R3 @@ -886,7 +888,7 @@ since C++14 and the implementation is complete. 23 General utilities - 23.1General  23.2Utility components  23.2.1Header <utility> synopsis  23.2.2OperatorsY 23.2.3swapY 23.2.4exchangeY 23.2.5Forward/move helpersY 23.2.6Function template as_constY 23.2.7Function template declvalY 23.2.8Primitive numeric output conversionPartialOnly integer types supported, not floating-point types23.2.9Primitive numeric input conversionPartialOnly integer types supported, not floating-point types23.3Compile-time integer sequences  23.4PairsY 23.5TuplesY 23.6Optional objectsY 23.7VariantsY 23.8Storage for any typeY 23.9BitsetsY 23.10MemoryY 23.10.1In general  23.10.2Header <memory> synopsisY 23.10.3Pointer traitsY 23.10.4Pointer safetyY 23.10.5AlignY 23.10.6Allocator argument tagY 23.10.7uses_allocatorY 23.10.8Allocator traitsY 23.10.9The default allocatorY 23.10.10Specialized algorithmsY 23.10.11C library memory allocationY 23.11Smart pointers  23.11.1Class template unique_ptrY 23.11.2Shared-ownership pointersY 23.12Memory resources  23.12.1Header <memory_resource> synopsisY 23.12.2Class memory_resourceY 23.12.3Class template polymorphic_allocatorY 23.12.4Access to program-wide memory_resource objectsY 23.12.5Pool resource classesY 23.12.6Class monotonic_buffer_resourceY 23.13Class template scoped_allocator_adaptorY 23.14Function objects  23.14.1Header <functional> synopsis  23.14.2Definitions  23.14.3Requirements  23.14.4Function template invokeY 23.14.5Class template reference_wrapperY 23.14.6Arithmetic operationY 23.14.7ComparisonsY 23.14.8Logical operationsY 23.14.9Bitwise operationsY 23.14.10Function template not_fnY 23.14.11Function object bindersY 23.14.12Function template mem_fnY 23.14.13Polymorphic function wrappersY 23.14.14SearchersY 23.14.15Class template hashY 23.15Metaprogramming and type traits  23.15.1Requirements  23.15.2Header <type_traits> synopsisY 23.15.3Helper classesY 23.15.4Unary Type TraitsY 23.15.5Type property queriesY 23.15.6Relationships between typesY 23.15.7Transformations between typesY 23.15.8Logical operator traitsY 23.16Compile-time rational arithmeticY 23.17.1In general  23.17.2Header <chrono> synopsis  23.17Time utilities  23.17.3Clock requirementsY 23.17.4Time-related traitsY 23.17.5Class template durationY 23.17.6Class template time_pointY 23.17.7ClocksY 23.17.8Header <ctime> synopsisY 23.18Class type_indexY 23.19Execution policies  23.19.1In general  23.19.2Header <execution> synopsis  23.19.3Execution policy type traitY 23.19.4Sequenced execution policyY 23.19.5Parallel execution policyY 23.19.6Parallel and unsequenced execution policyY 23.19.7Execution policy objectsY  + 23.1General  23.2Utility components  23.2.1Header <utility> synopsis  23.2.2OperatorsY 23.2.3swapY 23.2.4exchangeY 23.2.5Forward/move helpersY 23.2.6Function template as_constY 23.2.7Function template declvalY 23.2.8Primitive numeric output conversionPartial 23.2.9Primitive numeric input conversionPartial 23.3Compile-time integer sequences  23.4PairsY 23.5TuplesY 23.6Optional objectsY 23.7VariantsY 23.8Storage for any typeY 23.9BitsetsY 23.10MemoryY 23.10.1In general  23.10.2Header <memory> synopsisY 23.10.3Pointer traitsY 23.10.4Pointer safetyY 23.10.5AlignY 23.10.6Allocator argument tagY 23.10.7uses_allocatorY 23.10.8Allocator traitsY 23.10.9The default allocatorY 23.10.10Specialized algorithmsY 23.10.11C library memory allocationY 23.11Smart pointers  23.11.1Class template unique_ptrY 23.11.2Shared-ownership pointersY 23.12Memory resources  23.12.1Header <memory_resource> synopsisY 23.12.2Class memory_resourceY 23.12.3Class template polymorphic_allocatorY 23.12.4Access to program-wide memory_resource objectsY 23.12.5Pool resource classesY 23.12.6Class monotonic_buffer_resourceY 23.13Class template scoped_allocator_adaptorY 23.14Function objects  23.14.1Header <functional> synopsis  23.14.2Definitions  23.14.3Requirements  23.14.4Function template invokeY 23.14.5Class template reference_wrapperY 23.14.6Arithmetic operationY 23.14.7ComparisonsY 23.14.8Logical operationsY 23.14.9Bitwise operationsY 23.14.10Function template not_fnY 23.14.11Function object bindersY 23.14.12Function template mem_fnY 23.14.13Polymorphic function wrappersY 23.14.14SearchersY 23.14.15Class template hashY 23.15Metaprogramming and type traits  23.15.1Requirements  23.15.2Header <type_traits> synopsisY 23.15.3Helper classesY 23.15.4Unary Type TraitsY 23.15.5Type property queriesY 23.15.6Relationships between typesY 23.15.7Transformations between typesY 23.15.8Logical operator traitsY 23.16Compile-time rational arithmeticY 23.17.1In general  23.17.2Header <chrono> synopsis  23.17Time utilities  23.17.3Clock requirementsY 23.17.4Time-related traitsY 23.17.5Class template durationY 23.17.6Class template time_pointY 23.17.7ClocksY 23.17.8Header <ctime> synopsisY 23.18Class type_indexY 23.19Execution policies  23.19.1In general  23.19.2Header <execution> synopsis  23.19.3Execution policy type traitY 23.19.4Sequenced execution policyY 23.19.5Parallel execution policyY 23.19.6Parallel and unsequenced execution policyY 23.19.7Execution policy objectsY  24 Strings @@ -926,8 +928,9 @@ since C++14 and the implementation is complete. 33 Thread support - 33.1GeneralY 33.2RequirementsY 33.3Threads  33.3.1Header thread synopsis  33.3.2Class threadY 33.3.2.1Class threadPartialthread::id comparisons not well-defined33.3.3Namespace this_threadY 33.4Mutual exclusion  33.4.3Mutex requirements  33.4.3.1In general  33.4.3.2Mutex types  33.4.3.2.1Class mutexY 33.4.3.2.2Class recursive_mutexY 33.4.3.3Timed mutex types  33.4.3.3.1Class timed_mutexY 33.4.3.3.2Class recursive_timed_mutexY 33.4.3.4Shared mutex types  33.4.3.4.1Class shared_mutexY 33.4.3.5Shared timed mutex types  33.4.3.5.1Class shared_timed_mutexY 33.4.4Locks  33.4.4.1Class template lock_guardY 33.4.4.2Class template scoped_guardY 33.4.4.3Class template unique_lockY 33.4.4.4Class template shared_lockY 33.4.5Generic locking algorithmsY 33.4.6Call once  33.4.6.1Struct once_flagY 33.4.6.2Function call_onceBrokenSee PR - 66146 + 33.1GeneralY 33.2RequirementsY 33.3Threads  33.3.1Header thread synopsis  33.3.2Class threadY 33.3.2.1Class threadPartialthread::id comparisons not well-defined33.3.3Namespace this_threadY 33.4Mutual exclusion  33.4.3Mutex requirements  33.4.3.1In general  33.4.3.2Mutex types  33.4.3.2.1Class mutexY 33.4.3.2.2Class recursive_mutexY 33.4.3.3Timed mutex types  33.4.3.3.1Class timed_mutexY 33.4.3.3.2Class recursive_timed_mutexY 33.4.3.4Shared mutex types  33.4.3.4.1Class shared_mutexY 33.4.3.5Shared timed mutex types  33.4.3.5.1Class shared_timed_mutexY 33.4.4Locks  33.4.4.1Class template lock_guardY 33.4.4.2Class template scoped_guardY 33.4.4.3Class template unique_lockY 33.4.4.4Class template shared_lockY 33.4.5Generic locking algorithmsY 33.4.6Call once  33.4.6.1Struct once_flagY 33.4.6.2Function call_onceYException support is broken on non-Linux targets. + See PR + 66146. 33.5Condition variablesY 33.5.1Class condition_variableY 33.5.2Class condition_variable_anyY 33.6Futures  33.6.1Overview  33.6.2Header <future>  33.6.3Error handlingY 33.6.4Class future_errorY 33.6.5Shared stateY 33.6.6Class template promiseY 33.6.7Class template futureY 33.6.8Class template shared_futureY 33.6.9Function template asyncY 33.6.10Class template packaged_taskY  Appendix D diff --git a/libstdc++-v3/doc/xml/manual/status_cxx2011.xml b/libstdc++-v3/doc/xml/manual/status_cxx2011.xml index e8f8784c1e9..e13ca566ea3 100644 --- a/libstdc++-v3/doc/xml/manual/status_cxx2011.xml +++ b/libstdc++-v3/doc/xml/manual/status_cxx2011.xml @@ -2401,10 +2401,11 @@ particular release. 30.4.4.2 Function call_once - Broken - See Y + Exception support is broken on non-Linux targets. + See PR - 66146 + 66146. diff --git a/libstdc++-v3/doc/xml/manual/status_cxx2014.xml b/libstdc++-v3/doc/xml/manual/status_cxx2014.xml index 0d138abf794..7b2d4603b24 100644 --- a/libstdc++-v3/doc/xml/manual/status_cxx2014.xml +++ b/libstdc++-v3/doc/xml/manual/status_cxx2014.xml @@ -1388,9 +1388,10 @@ not in any particular release. 30.4.4.2 Function call_once Broken - See Exception support is broken on non-Linux targets. + See PR - 66146 + 66146. diff --git a/libstdc++-v3/doc/xml/manual/status_cxx2017.xml b/libstdc++-v3/doc/xml/manual/status_cxx2017.xml index f97fc060fa0..7b5df3d1385 100644 --- a/libstdc++-v3/doc/xml/manual/status_cxx2017.xml +++ b/libstdc++-v3/doc/xml/manual/status_cxx2017.xml @@ -457,7 +457,7 @@ Feature-testing recommendations for C++. P0185R1 - 7 (__is_swappable available since 6.1) + 7.1 (__is_swappable available since 6.1) __cpp_lib_is_swappable >= 201603 @@ -641,7 +641,7 @@ Feature-testing recommendations for C++. 9.1 - __has_include(<execution>) , + __has_include(<execution>), __cpp_lib_execution >= 201603 , __cpp_lib_parallel_algorithm >= 201603 (requires linking with -ltbb, see Note 3) @@ -702,7 +702,7 @@ Feature-testing recommendations for C++. 8.1 - __has_include(<filesystem>) , + __has_include(<filesystem>), __cpp_lib_filesystem >= 201603 (GCC 8.x requires linking with -lstdc++fs) @@ -787,15 +787,14 @@ Feature-testing recommendations for C++. - Elementary string conversions P0067R5 - 8.1 (only integral types supported) - __has_include(<charconv>) + 11.1 (integral types supported since 8.1) + __has_include(<charconv>), __cpp_lib_to_chars >= 201611 @@ -1182,18 +1181,16 @@ since C++14 and the implementation is complete. - 23.2.8 Primitive numeric output conversion Partial - Only integer types supported, not floating-point types + - 23.2.9 Primitive numeric input conversion Partial - Only integer types supported, not floating-point types + 23.3 @@ -2508,10 +2505,11 @@ since C++14 and the implementation is complete. 33.4.6.2 Function call_once - Broken - See Y + Exception support is broken on non-Linux targets. + See PR - 66146 + 66146. -- 2.30.2