From: Jonathan Wakely Date: Wed, 8 Aug 2018 13:46:29 +0000 (+0100) Subject: Fix docs on C++17 and LFTS headers X-Git-Tag: releases/gcc-7.4.0~218 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=39a0fa68a3f020e9d120d7063f5964f5fcee4d2d;p=thirdparty%2Fgcc.git Fix docs on C++17 and LFTS headers * doc/xml/manual/using.xml: Add missing header to table and fix typo. Remove C++17 headers not present on gcc-8-branch. * doc/html/*: Regenerate. From-SVN: r263402 --- diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index f82d958796b3..eb2aa5560a94 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2018-08-08 Jonathan Wakely + + * doc/xml/manual/using.xml: Add missing header to table and fix typo. + Remove C++17 and C++2a headers not present on gcc-7-branch. + * doc/html/*: Regenerate. + 2018-08-07 Jonathan Wakely Backport from mainline diff --git a/libstdc++-v3/doc/html/manual/index.html b/libstdc++-v3/doc/html/manual/index.html index cd4c98913a51..b653fc2ae69d 100644 --- a/libstdc++-v3/doc/html/manual/index.html +++ b/libstdc++-v3/doc/html/manual/index.html @@ -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

List of Equations

22.1. Ranged Hash Function
22.2. Range-Hashing, Division Method
22.3. Division via Prime Modulo
22.4. Division via Bit Mask
22.5. A Standard String Hash Function
22.6. Only k String DNA Hash diff --git a/libstdc++-v3/doc/html/manual/using_headers.html b/libstdc++-v3/doc/html/manual/using_headers.html index 0cdff59df5d4..ac09f936800c 100644 --- a/libstdc++-v3/doc/html/manual/using_headers.html +++ b/libstdc++-v3/doc/html/manual/using_headers.html @@ -53,43 +53,30 @@ Including these headers in earlier modes will not result in compilation errors, but will not define anything. Unless specified otherwise below, they are also available in later modes (C++20 etc). -

Table 3.8. C++ 2017 Library Headers

anycharconvexecutionfilesystemmemory_resource
optionalstring_viewvariant 

-Table 3.9, “C++ 2020 Library Headers” -shows the C++2a include files. -These are available in C++2a compilation -mode, i.e. -std=c++2a or -std=gnu++2a. -Including these headers in earlier modes will not result in -compilation errors, but will not define anything. - -

Table 3.9. C++ 2020 Library Headers

bitversion

- The following headers have been removed in the C++2a working draft. - They are still available when using this implementation, but in future - they might start to produce warnings or errors when included in C++2a mode. - Programs that intend to be portable should not include them. -

Table 3.10. C++ 2020 Obsolete Headers

ccomplexciso646cstdaligncstdboolctgmath

-Table 3.11, “File System TS Header”, +

Table 3.8. C++ 2017 Library Headers

anyoptionalstring_viewvariant 

+Table 3.9, “File System TS Header”, shows the additional include file define by the File System Technical Specification, ISO/IEC TS 18822. This is available in C++11 and later compilation modes. Including this header in earlier modes will not result in compilation errors, but will not define anything. -

Table 3.11. File System TS Header

experimental/filesystem

-Table 3.12, “Library Fundamentals TS Headers”, +

Table 3.9. File System TS Header

experimental/filesystem

+Table 3.10, “Library Fundamentals TS Headers”, shows the additional include files define by the C++ Extensions for Library Fundamentals Technical Specification, ISO/IEC TS 19568. These are available in C++14 and later compilation modes. Including these headers in earlier modes will not result in compilation errors, but will not define anything. -

Table 3.12. Library Fundamentals TS Headers

experimental/algorithmexperimental/anyexperimental/arrayexperimental/chronoexperimental/deque
experimental/forward_listexperimental/functionalexperimental/iteratorexperimental/listexperimental/map
experimental/memoryexperimental/memory_resourceexperimental/optionalexperimental/propagate_constexperimental/random
experimental/ratioexperimental/regexexperimental/setexperimental/source_locationexperimental/string
experimental/string_viewexperimental/ssytem_errorexperimental/tupleexperimental/type_traitsexperimental/unordered_map
experimental/unordered_setexperimental/utilityexperimental/vector 

+

Table 3.10. Library Fundamentals TS Headers

experimental/algorithmexperimental/anyexperimental/arrayexperimental/chronoexperimental/deque
experimental/forward_listexperimental/functionalexperimental/iteratorexperimental/listexperimental/map
experimental/memoryexperimental/memory_resourceexperimental/numericexperimental/optionalexperimental/propagate_const
experimental/randomexperimental/ratioexperimental/regexexperimental/setexperimental/source_location
experimental/stringexperimental/string_viewexperimental/system_errorexperimental/tupleexperimental/type_traits
experimental/unordered_mapexperimental/unordered_setexperimental/utilityexperimental/vector 

In addition, TR1 includes as: -

Table 3.13. C++ TR 1 Library Headers

tr1/arraytr1/complextr1/memorytr1/functionaltr1/random
tr1/regextr1/tupletr1/type_traitstr1/unordered_maptr1/unordered_set
tr1/utility 

Table 3.14. C++ TR 1 Library Headers for C Library Facilities

tr1/ccomplextr1/cfenvtr1/cfloattr1/cmathtr1/cinttypes
tr1/climitstr1/cstdargtr1/cstdbooltr1/cstdinttr1/cstdio
tr1/cstdlibtr1/ctgmathtr1/ctimetr1/cwchartr1/cwctype

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

Table 3.11. C++ TR 1 Library Headers

tr1/arraytr1/complextr1/memorytr1/functionaltr1/random
tr1/regextr1/tupletr1/type_traitstr1/unordered_maptr1/unordered_set
tr1/utility 

Table 3.12. C++ TR 1 Library Headers for C Library Facilities

tr1/ccomplextr1/cfenvtr1/cfloattr1/cmathtr1/cinttypes
tr1/climitstr1/cstdargtr1/cstdbooltr1/cstdinttr1/cstdio
tr1/cstdlibtr1/ctgmathtr1/ctimetr1/cwchartr1/cwctype

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

Table 3.15. C++ TR 24733 Decimal Floating-Point Header

decimal/decimal

+

Table 3.13. C++ TR 24733 Decimal Floating-Point Header

decimal/decimal

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

Table 3.16. C++ ABI Headers

cxxabi.hcxxabi_forced.h

+

Table 3.14. C++ ABI Headers

cxxabi.hcxxabi_forced.h

And a large variety of extensions. -

Table 3.17. Extension Headers

ext/algorithmext/atomicity.hext/array_allocator.hext/bitmap_allocator.hext/cast.h
ext/codecvt_specializations.hext/concurrence.hext/debug_allocator.hext/enc_filebuf.hext/extptr_allocator.h
ext/functionalext/iteratorext/malloc_allocator.hext/memoryext/mt_allocator.h
ext/new_allocator.hext/numericext/numeric_traits.hext/pb_ds/assoc_container.hext/pb_ds/priority_queue.h
ext/pod_char_traits.hext/pool_allocator.hext/rb_treeext/ropeext/slist
ext/stdio_filebuf.hext/stdio_sync_filebuf.hext/throw_allocator.hext/typelist.hext/type_traits.h
ext/vstring.h 

Table 3.18. Extension Debug Headers

debug/arraydebug/bitsetdebug/dequedebug/forward_listdebug/list
debug/mapdebug/setdebug/stringdebug/unordered_mapdebug/unordered_set
debug/vector 

Table 3.19. Extension Profile Headers

profile/bitsetprofile/dequeprofile/listprofile/map
profile/setprofile/unordered_mapprofile/unordered_setprofile/vector

Table 3.20. Extension Parallel Headers

parallel/algorithmparallel/numeric

Mixing Headers

A few simple rules. +

Table 3.15. Extension Headers

ext/algorithmext/atomicity.hext/array_allocator.hext/bitmap_allocator.hext/cast.h
ext/codecvt_specializations.hext/concurrence.hext/debug_allocator.hext/enc_filebuf.hext/extptr_allocator.h
ext/functionalext/iteratorext/malloc_allocator.hext/memoryext/mt_allocator.h
ext/new_allocator.hext/numericext/numeric_traits.hext/pb_ds/assoc_container.hext/pb_ds/priority_queue.h
ext/pod_char_traits.hext/pool_allocator.hext/rb_treeext/ropeext/slist
ext/stdio_filebuf.hext/stdio_sync_filebuf.hext/throw_allocator.hext/typelist.hext/type_traits.h
ext/vstring.h 

Table 3.16. Extension Debug Headers

debug/arraydebug/bitsetdebug/dequedebug/forward_listdebug/list
debug/mapdebug/setdebug/stringdebug/unordered_mapdebug/unordered_set
debug/vector 

Table 3.17. Extension Profile Headers

profile/bitsetprofile/dequeprofile/listprofile/map
profile/setprofile/unordered_mapprofile/unordered_setprofile/vector

Table 3.18. Extension Parallel Headers

parallel/algorithmparallel/numeric

Mixing Headers

A few simple rules.

First, mixing different dialects of the standard headers is not possible. It's an all-or-nothing affair. Thus, code like

diff --git a/libstdc++-v3/doc/xml/manual/using.xml b/libstdc++-v3/doc/xml/manual/using.xml
index a468c404cef3..640a91c0989d 100644
--- a/libstdc++-v3/doc/xml/manual/using.xml
+++ b/libstdc++-v3/doc/xml/manual/using.xml
@@ -410,83 +410,15 @@ Unless specified otherwise below, they are also available in later modes
 
 
 any
-charconv
-execution
-filesystem
-memory_resource
-
-
 optional
 string_view
 variant
-
-
-
-
-
-
-
-
-shows the C++2a include files.
-These are available in C++2a compilation
-mode, i.e. -std=c++2a or -std=gnu++2a.
-Including these headers in earlier modes will not result in
-compilation errors, but will not define anything.
-
-
-
-
-
-C++ 2020 Library Headers
-
-
-
-
-
-
-
-bit
-version
+
 
-
- - The following headers have been removed in the C++2a working draft. - They are still available when using this implementation, but in future - they might start to produce warnings or errors when included in C++2a mode. - Programs that intend to be portable should not include them. - - - -C++ 2020 Obsolete Headers - - - - - - - - - -ccomplex -ciso646 -cstdalign -cstdbool -ctgmath - - - -
, @@ -549,29 +481,30 @@ compilation errors, but will not define anything. experimental/memory experimental/memory_resource +experimental/numeric experimental/optional experimental/propagate_const -experimental/random +experimental/random experimental/ratio experimental/regex experimental/set experimental/source_location -experimental/string +experimental/string experimental/string_view -experimental/ssytem_error +experimental/system_error experimental/tuple experimental/type_traits -experimental/unordered_map +experimental/unordered_map experimental/unordered_set experimental/utility experimental/vector - +