From 5916922e348b0ae5bc1f308b5de9c75ffd20c339 Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Wed, 28 Nov 2018 13:49:47 +0000 Subject: [PATCH] Update C++17 library status docs * doc/xml/manual/status_cxx2017.xml: Update C++17 status. * doc/html/*: Regenerate. From-SVN: r266559 --- libstdc++-v3/ChangeLog | 5 +++++ libstdc++-v3/doc/html/manual/configure.html | 20 +++++++++++++++++- libstdc++-v3/doc/html/manual/memory.html | 2 +- libstdc++-v3/doc/html/manual/status.html | 21 +++++++++++-------- .../doc/xml/manual/status_cxx2017.xml | 20 ++++++++++-------- 5 files changed, 48 insertions(+), 20 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 748bb4ac29e..f4705c2f764 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,8 @@ +2018-11-28 Jonathan Wakely + + * doc/xml/manual/status_cxx2017.xml: Update C++17 status. + * doc/html/*: Regenerate. + 2018-11-27 Jonathan Wakely * testsuite/27_io/filesystem/operations/canonical.cc: Remove diff --git a/libstdc++-v3/doc/html/manual/configure.html b/libstdc++-v3/doc/html/manual/configure.html index 31187ddb869..e3321d52ebc 100644 --- a/libstdc++-v3/doc/html/manual/configure.html +++ b/libstdc++-v3/doc/html/manual/configure.html @@ -238,7 +238,25 @@ use OPTION=gcc4-compatible to set it to 0. This option does not change the library ABI. -

--enable-vtable-verify[default]

Use -fvtable-verify=std to compile the C++ +

--with-libstdcxx-lock-policy=OPTION

Sets the lock policy that controls how + shared_ptr reference counting is + synchronized. + The choice OPTION=atomic enables use of atomics for updates to + shared_ptr reference counts. + The choice OPTION=mutex enables use of a mutex to synchronize updates + to shared_ptr reference counts. + If the compiler's thread model is "single" then this option has no + effect, as no synchronization is used for the reference counts. + The default is OPTION=auto, which checks for the availability of + compiler built-ins for 2-byte and 4-byte atomic compare-and-swap, + and uses OPTION=atomic if they're available, OPTION=mutex otherwise. + This option can change the library ABI. + If the library is configured to use atomics and user programs are + compiled using a target that doesn't natively support the atomic + operations (e.g. the library is configured for armv7 and then code + is compiled with -march=armv5t) then the program + might rely on support in libgcc to provide the atomics. +

--enable-vtable-verify[default]

Use -fvtable-verify=std to compile the C++ runtime with instrumentation for vtable verification. All virtual functions in the standard library will be verified at runtime. Types impacted include locale and diff --git a/libstdc++-v3/doc/html/manual/memory.html b/libstdc++-v3/doc/html/manual/memory.html index d95202cd100..7b160db60fe 100644 --- a/libstdc++-v3/doc/html/manual/memory.html +++ b/libstdc++-v3/doc/html/manual/memory.html @@ -324,7 +324,7 @@ The Hoard Memory Allocator . Emery Berger.

- + Reconsidering Custom Memory Allocation . Emery Berger. Ben Zorn. Kathryn McKinley. Copyright © 2002 OOPSLA.

diff --git a/libstdc++-v3/doc/html/manual/status.html b/libstdc++-v3/doc/html/manual/status.html index aac3bab83fa..70901a6695c 100644 --- a/libstdc++-v3/doc/html/manual/status.html +++ b/libstdc++-v3/doc/html/manual/status.html @@ -576,11 +576,11 @@ Feature-testing recommendations for C++. 7.1 __has_include(<string_view>), __cpp_lib_string_view >= 201603 (since 7.3, see Note 1) - Library Fundamentals V1 TS Components: memory_resource + Library Fundamentals V1 TS Components: memory_resource P0220R1 - No __has_include(<memory_resource>), + 9.1 __has_include(<memory_resource>), __cpp_lib_memory_resource >= 201603 Library Fundamentals V1 TS Components: apply @@ -711,7 +711,7 @@ Feature-testing recommendations for C++. P0426R1 - 8 __cpp_lib_constexpr_char_traits >= 201611 Integrating std::string_view and std::string + 8.1 __cpp_lib_constexpr_char_traits >= 201611 Integrating std::string_view and std::string P0254R2 @@ -784,22 +784,22 @@ Feature-testing recommendations for C++. P0218R1 - 8 __has_include(<filesystem>) , + 8.1 __has_include(<filesystem>) , __cpp_lib_filesystem >= 201603 (requires linking with -lstdc++fs) Relative Paths for Filesystem P0219R1 - 8 __cpp_lib_filesystem >= 201606 Adapting string_view by filesystem paths + 8.1 __cpp_lib_filesystem >= 201606 Adapting string_view by filesystem paths P0392R0 - 8 __cpp_lib_filesystem >= 201606 Directory Entry Caching for Filesystem + 8.1 __cpp_lib_filesystem >= 201606 Directory Entry Caching for Filesystem P0317R1 - 8 __cpp_lib_filesystem >= 201703 constexpr atomic<T>::is_always_lock_free + 8.1 __cpp_lib_filesystem >= 201703 constexpr atomic<T>::is_always_lock_free P0152R1 @@ -820,7 +820,7 @@ Feature-testing recommendations for C++. P0067R5 - 8 (only integral types supported) __has_include(<charconv>) + 8.1 (only integral types supported) __has_include(<charconv>) __cpp_lib_to_chars >= 201611


Note 1: This feature is supported in GCC 7.1 and 7.2 but before GCC 7.3 the __cpp_lib macro is not defined, and compilation will fail if the @@ -874,7 +874,10 @@ and test for __STDCPP_MATH_SPEC_FUNCS__ >= 201003L. N4521 - Merge Fundamentals V1 into V2 NLibrary Fundamentals 2 TS + Merge Fundamentals V1 into V2 + N (components from V1 are still in namespace + fundamentals_v1) + Library Fundamentals 2 TS P0013R1 diff --git a/libstdc++-v3/doc/xml/manual/status_cxx2017.xml b/libstdc++-v3/doc/xml/manual/status_cxx2017.xml index a77653a3ab4..181dbe7a6ec 100644 --- a/libstdc++-v3/doc/xml/manual/status_cxx2017.xml +++ b/libstdc++-v3/doc/xml/manual/status_cxx2017.xml @@ -147,14 +147,13 @@ Feature-testing recommendations for C++. - Library Fundamentals V1 TS Components: memory_resource P0220R1 - No + 9.1 __has_include(<memory_resource>), __cpp_lib_memory_resource >= 201603 @@ -504,7 +503,7 @@ Feature-testing recommendations for C++. P0426R1 - 8 + 8.1 __cpp_lib_constexpr_char_traits >= 201611 @@ -690,7 +689,7 @@ Feature-testing recommendations for C++. P0218R1 - 8 + 8.1 __has_include(<filesystem>) , __cpp_lib_filesystem >= 201603 (requires linking with -lstdc++fs) @@ -704,7 +703,7 @@ Feature-testing recommendations for C++. P0219R1 - 8 + 8.1 __cpp_lib_filesystem >= 201606 @@ -715,7 +714,7 @@ Feature-testing recommendations for C++. P0392R0 - 8 + 8.1 __cpp_lib_filesystem >= 201606 @@ -726,7 +725,7 @@ Feature-testing recommendations for C++. P0317R1 - 8 + 8.1 __cpp_lib_filesystem >= 201703 @@ -783,7 +782,7 @@ Feature-testing recommendations for C++. P0067R5 - 8 (only integral types supported) + 8.1 (only integral types supported) __has_include(<charconv>) __cpp_lib_to_chars >= 201611 @@ -939,7 +938,10 @@ and test for __STDCPP_MATH_SPEC_FUNCS__ >= 201003L. Merge Fundamentals V1 into V2 - N + + N (components from V1 are still in namespace + fundamentals_v1) + Library Fundamentals 2 TS