Commit Graph

251 Commits

Author SHA1 Message Date
Jonathan Wakely
3ef33e756a libstdc++: Document istreambuf_iterator base class change [PR 92285]
libstdc++-v3/ChangeLog:

	PR libstdc++/92285
	* doc/xml/manual/evolution.xml: Document change to base class.
	* doc/html/manual/api.html: Regenerate.
2020-11-04 12:46:52 +00:00
Jonathan Wakely
0e0beddd7f libstdc++: Update C++20 status documentation
libstdc++-v3/ChangeLog:

	* doc/xml/manual/evolution.xml: Document some API changes
	and deprecations.
	* doc/xml/manual/intro.xml: Document LWG 2499.
	* doc/xml/manual/status_cxx2020.xml: Update status.
	* doc/html/*: Regenerate.
2020-10-13 17:40:43 +01:00
Jonathan Wakely
16d0b033ca libstdc++: Remove trailing whitespace from XML docs
libstdc++-v3/ChangeLog:

	* doc/xml/book.txml: Remove trailing whitespace.
	* doc/xml/chapter.txml: Likewise.
	* doc/xml/class.txml: Likewise.
	* doc/xml/gnu/fdl-1.3.xml: Likewise.
	* doc/xml/gnu/gpl-3.0.xml: Likewise.
	* doc/xml/manual/abi.xml: Likewise.
	* doc/xml/manual/algorithms.xml: Likewise.
	* doc/xml/manual/allocator.xml: Likewise.
	* doc/xml/manual/appendix_contributing.xml: Likewise.
	* doc/xml/manual/appendix_free.xml: Likewise.
	* doc/xml/manual/appendix_porting.xml: Likewise.
	* doc/xml/manual/atomics.xml: Likewise.
	* doc/xml/manual/auto_ptr.xml: Likewise.
	* doc/xml/manual/backwards_compatibility.xml: Likewise.
	* doc/xml/manual/bitmap_allocator.xml: Likewise.
	* doc/xml/manual/build_hacking.xml: Likewise.
	* doc/xml/manual/codecvt.xml: Likewise.
	* doc/xml/manual/concurrency.xml: Likewise.
	* doc/xml/manual/concurrency_extensions.xml: Likewise.
	* doc/xml/manual/configure.xml: Likewise.
	* doc/xml/manual/containers.xml: Likewise.
	* doc/xml/manual/ctype.xml: Likewise.
	* doc/xml/manual/debug.xml: Likewise.
	* doc/xml/manual/debug_mode.xml: Likewise.
	* doc/xml/manual/diagnostics.xml: Likewise.
	* doc/xml/manual/documentation_hacking.xml: Likewise.
	* doc/xml/manual/evolution.xml: Likewise.
	* doc/xml/manual/internals.xml: Likewise.
	* doc/xml/manual/intro.xml: Likewise.
	* doc/xml/manual/io.xml: Likewise.
	* doc/xml/manual/iterators.xml: Likewise.
	* doc/xml/manual/locale.xml: Likewise.
	* doc/xml/manual/localization.xml: Likewise.
	* doc/xml/manual/messages.xml: Likewise.
	* doc/xml/manual/mt_allocator.xml: Likewise.
	* doc/xml/manual/numerics.xml: Likewise.
	* doc/xml/manual/parallel_mode.xml: Likewise.
	* doc/xml/manual/policy_data_structures.xml: Likewise.
	* doc/xml/manual/prerequisites.xml: Likewise.
	* doc/xml/manual/shared_ptr.xml: Likewise.
	* doc/xml/manual/spine.xml: Likewise.
	* doc/xml/manual/status_cxxtr1.xml: Likewise.
	* doc/xml/manual/status_cxxtr24733.xml: Likewise.
	* doc/xml/manual/strings.xml: Likewise.
	* doc/xml/manual/support.xml: Likewise.
	* doc/xml/manual/test.xml: Likewise.
	* doc/xml/manual/test_policy_data_structures.xml: Likewise.
	* doc/xml/manual/using.xml: Likewise.
	* doc/xml/manual/using_exceptions.xml: Likewise.
	* doc/xml/manual/utilities.xml: Likewise.
	* doc/html/*: Regenerate.
2020-10-13 16:50:41 +01:00
Jonathan Wakely
2137aa9241 libstdc++: Replace use of reserved name that clashes [PR 97362]
The name __deref is defined as a macro by Windows headers.

This renames the __deref() helper function to __ref. It doesn't actually
dereference an iterator. it just has the same type as the iterator's
reference type.

libstdc++-v3/ChangeLog:

	PR libstdc++/97362
	* doc/html/manual/source_code_style.html: Regenerate.
	* doc/xml/manual/appendix_contributing.xml: Add __deref to
	BADNAMES.
	* include/debug/functions.h (_Irreflexive_checker::__deref):
	Rename to __ref.
	* testsuite/17_intro/badnames.cc: Check __deref.
2020-10-10 21:22:12 +01:00
Jonathan Wakely
61f7995398 libstdc++: Fix misnamed configure option in manual
libstdc++-v3/ChangeLog:

	* doc/xml/manual/configure.xml: Correct name of option.
	* doc/html/*: Regenerate.
2020-09-24 17:35:02 +01:00
Jonathan Wakely
54485adc77 libstdc++: Change URL for PSTL again
libstdc++-v3/ChangeLog:

	* doc/xml/manual/status_cxx2017.xml: Replace oneAPI DPC++ link
	with LLVM repo for PSTL.
	* doc/html/manual/status.html: Regenerate.
2020-08-05 22:46:32 +01:00
Gerald Pfeifer
8dc5f8529b Move www.stroustrup.com to https
libstdc++-v3/ChangeLog:

2020-08-02  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/xml/manual/using_exceptions.xml: Move www.stroustrup.com to
	https.
	* doc/html/manual/using_exceptions.html: Regenerate.
2020-08-02 00:26:36 +02:00
Gerald Pfeifer
d1da25fe99 libstdc++: ParallelSTL is now part of oneAPI DPC++ Library
libstdc++-v3:
2020-07-31  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/xml/manual/status_cxx2017.xml: ParallelSTL is now part
	of oneAPI DPC++ Library on Github.
	* doc/html/manual/status.html: Regenerate.
2020-07-31 23:19:37 +02:00
Jonathan Wakely
258059d91b libstdc++: Document API changes in GCC 10
* doc/xml/manual/evolution.xml: Document deprecation of
	__is_nullptr_t and removal of std::allocator members.
	* doc/html/manual/api.html: Regenerate.
2020-06-01 16:50:53 +01:00
Jonathan Wakely
a1ffe9b6f4 libstdc++: Fix incorrect Docbook links
The <xref> element creates the link text automatically from the link
target, rather than using the text node child of the element. This can
be changed by using an endterm attribute, but it's simpler to just use
the <link> element instead.

	* doc/xml/manual/containers.xml: Replace <xref> with <link>.
	* doc/xml/manual/evolution.xml: Likewise.
	* doc/html/manual/api.html: Regenerate.
	* doc/html/manual/containers.html: Regenerate.
2020-06-01 16:49:31 +01:00
Gerald Pfeifer
e41b988cc5 libstdc++: Update/streamline Valgrind references
* doc/xml/faq.xml: Adjust Valgrind reference and remove another.
	* doc/html/faq.html: Regenerate.
2020-06-01 17:04:22 +02:00
Gerald Pfeifer
2babbb6760 libstdc++: Switch www.cs.princeton.edu to https
* doc/xml/manual/policy_data_structures_biblio.xml: Switch
	www.cs.princeton.edu to https.
	* doc/html/manual/policy_data_structures.html: Regenerate.
2020-06-01 02:03:48 +02:00
Jonathan Wakely
2b6f6aeea1 libstdc++: Document library versioning for 9.[123] and 10.1
* doc/xml/manual/abi.xml (abi.versioning.history): Document library
	versions for GCC 9.[123] and 10.1 releases.
	* doc/html/*: Regenerate.
2020-05-06 10:30:15 +01:00
Jonathan Wakely
ae8a08ff59 libstdc++: Fix broken link to SGI STL FAQ
The previous URL to an entry in the wayback machine now redirects to a
page saying "SGI.com Tech Archive Resources now retired" so use an older
entry from the archive.

	* doc/xml/faq.xml: Use working link for SGI STL FAQ.
	* doc/html/*: Regenerate.
2020-05-04 22:54:25 +01:00
Jonathan Wakely
be0363c80f libstdc++: Update C++20 library status docs
This reorganises the C++20 status table, grouping the proposals by
category. It also adds more proposals, and documents all the feature
test macros for C++20 library changes.

	* doc/xml/manual/status_cxx2020.xml: Update C++20 status table.
	* doc/html/*: Regenerate.
2020-04-23 21:39:33 +01:00
Jonathan Wakely
57ede05c6a libstdc++: Improve C++14 and C++17 status docs
This adds a full table of contents for the C++14 and C++17 standards,
with status for each part.

For C++14 the list of proposals is removed, as it adds little value now
that everything is supported. For C++17 the table of proposals is
retained, because it documents he feature test macros for the features.

	* doc/Makefile.am (xml_sources_manual): Add missing XML files.
	* doc/Makefile.in: Regenerate.
	* doc/xml/manual/status_cxx1998.xml: Refer to "this section" instead
	of "this page".
	* doc/xml/manual/status_cxx2011.xml: Formatting and other corrections
	to the C++11 status table.
	* doc/xml/manual/status_cxx2014.xml: Replace list of C++14 feature
	proposals with table matching contents of the C++14 standard.
	* doc/xml/manual/status_cxx2017.xml: Add table matching contents of
	the C++17 standard.
	* doc/html/*: Regenerate.
2020-04-21 22:18:51 +01:00
Gerald Pfeifer
2a1a0c8c0d libstdc++: Refer to Git documentation
* doc/xml/manual/appendix_contributing.xml: Refer to Git
	documentation instead of Subversion.  Switch to https.
	* doc/html/manual/appendix_contributing.html: Regenerate.
2020-04-05 23:56:53 +02:00
Gerald Pfeifer
6c557ba538 libstdc++: Move "free books" list from fsf.org to gnu.org
* doc/xml/manual/appendix_free.xml: Move "free books" list from
	fsf.org to gnu.org.
	* doc/html/manual/appendix_free.html: Regenerate.
2020-04-01 22:45:35 +02:00
Jonathan Wakely
c784f16204 libstdc++: Fix recent documentation changes
* doc/xml/faq.xml: Fix grammar.
	* doc/xml/manual/appendix_contributing.xml: Improve instructions.
	* doc/xml/manual/spine.xml: Update copyright years.
	* doc/html/*: Regenerate.
2020-01-20 21:45:52 +00:00
Janne Blomqvist
aeebd94c77 Switch gcc ftp URL's to https
The FTP protocol is getting long in the tooth, and we should emphasize
HTTPS where that is available. This patch changes various gcc.gnu.org
URL's to instead use HTTPS.

For instance, kernel.org shut down FTP access in 2017, with the
explanation:

- The protocol is inefficient and requires adding awkward kludges to
  firewalls and load-balancing daemons
- FTP servers have no support for caching or accelerators, which has
  significant performance impacts
- Most software implementations have stagnated and see infrequent
  updates

ChangeLog:

2019-11-20  Janne Blomqvist  <jb@gcc.gnu.org>

        * configure.ac: Use https for gcc.gnu.org.
        * configure: Regenerated.

gcc/ChangeLog:

2019-11-20  Janne Blomqvist  <jb@gcc.gnu.org>

        * configure.ac: Use https for gcc.gnu.org.
        * configure: Regenerated.
        * doc/install.texi: Use https for gcc.gnu.org.
        * doc/sourcebuild.texi: Likewise.

gcc/testsuite/ChangeLog:

2019-11-20  Janne Blomqvist  <jb@gcc.gnu.org>

        * README: Use https for gcc.gnu.org.

libstdc++-v3/ChangeLog:

2019-11-20  Janne Blomqvist  <jb@gcc.gnu.org>

        * doc/html/api.html: Use https for gcc.gnu.org.
        * doc/xml/api.xml: Likewise.

maintainer-scripts/ChangeLog:

2019-11-20  Janne Blomqvist  <jb@gcc.gnu.org>

        * gcc_release: Use https for gcc.gnu.org.

From-SVN: r278526
2019-11-20 22:24:48 +02:00
Jonathan Wakely
081f3c3c2f Regenerate libstdc++ HTML docs
* doc/html/*: Regenerate.

From-SVN: r277699
2019-10-31 23:03:26 +00:00
Jonathan Wakely
02819d3919 PR libstdc++/88338 Implement P0898R3, C++20 concepts library
The implementation is already complete but this updates the docs and
adds tests for the feature test macro.

	* doc/xml/manual/status_cxx2020.xml: Update status.
	* doc/html/*: Regenerate.
	* testsuite/std/concepts/1.cc: New test.
	* testsuite/std/concepts/2.cc: New test.

From-SVN: r277371
2019-10-24 10:47:25 +01:00
Jonathan Wakely
07f37a7fd4 Add makefile target to update HTML files in source tree
Also remove the creation of the html/ext sub-directory, which has been
unused since revision r245258.

	* doc/Makefile.am (doc-html-docbook-regenerate): New target.
	(${docbook_outdir}/html): Do not create unused 'html/ext' directory.
	* doc/Makefile.in: Regenerate.
	* doc/xml/manual/documentation_hacking.xml: Document new target.
	* doc/html/*: Regenerate.

From-SVN: r276695
2019-10-08 12:01:44 +01:00
Jonathan Wakely
db4fd46519 Restore URL for Austern article on allocators
This reverts "Remove broken URL from libstdc++ manual" by restoring the
link, but using an archived copy from the Wayback Machine.

	* doc/xml/manual/allocator.xml: Use archived copy of CUJ article.
	* doc/html/*: Regenerate.

From-SVN: r276693
2019-10-08 11:41:28 +01:00
Jonathan Wakely
709310e7a4 Document non-conformance of parallel mode to recent C++ standards
* doc/xml/manual/parallel_mode.xml: Add caveat about support for
	recent standards.
	* doc/html/*: Regenerate.

From-SVN: r276463
2019-10-02 15:56:57 +01:00
Edward Smith-Rowland
324fb1020f Update docs for recent <span> and constexpr lib changes.
2019-09-09  Edward Smith-Rowland  <3dw4rd@verizon.net>

	Update docs for recent <span> and constexpr lib changes.
	* doc/xml/manual/status_cxx2020.xml: Update p0202r3, p0858r0, p0879r0,
	p1023r0, p1085r2 status.
	* doc/html/manual/status.html: Regenerate.

From-SVN: r275522
2019-09-09 16:54:31 +00:00
Jonathan Wakely
4ef5bbd815 Define std::ssize for C++20 (P1227R2)
* include/bits/range_access.h (ssize): Define for C++20.
	* testsuite/24_iterators/range_access_cpp20.cc: New test.
	* doc/xml/manual/status_cxx2020.xml: Update P1227R2 status.
	* doc/html/*: Regenerate.

From-SVN: r275458
2019-09-06 13:54:51 +01:00
Jonathan Wakely
b5c433ce11 Improve precondition checks for std::span
* doc/xml/manual/status_cxx2020.xml: Update status for P0122R7 and
	P1024R3. Remove entry for P0920R2.
	* include/std/span  (__cpp_lib_span): Change value.
	(__extent_storage, __extent_storage<dynamic_extent>): Remove default
	constructor.
	(span): Replace __extent_storage base class with data member.
	(span::_S_subspan_extent): New function.
	(span::empty()): Add nodiscard attribute.
	(span::front, span::back, span::operator[]): Check preconditions.
	(span::first, span::last, span::subspan): Add noexcept. Improve
	precondition checks (LWG 3103).
	(get): Remove redundant condition from static_assert.
	(tuple_element<I, span<T, E>>): Fix static_assert message and simplify.
	(as_writable_bytes): Add inline specifier.
	* include/std/version (__cpp_lib_span): Change value.
	* testsuite/23_containers/span/back_neg.cc: Remove stray semi-colon.
	* testsuite/23_containers/span/front_neg.cc: Likewise.
	* testsuite/23_containers/span/index_op_neg.cc: Likewise.
	* testsuite/23_containers/span/last_neg.cc: Improve test.
	* testsuite/23_containers/span/subspan_neg.cc: Likewise.
	* testsuite/23_containers/span/1.cc: New test.
	* testsuite/23_containers/span/2.cc: New test.
	* testsuite/23_containers/span/back_assert_neg.cc: New test.
	* testsuite/23_containers/span/first_2_assert_neg.cc: New test.
	* testsuite/23_containers/span/first_assert_neg.cc: New test.
	* testsuite/23_containers/span/first_neg.cc: New test.
	* testsuite/23_containers/span/front_assert_neg.cc: New test.
	* testsuite/23_containers/span/index_op_assert_neg.cc: New test.
	* testsuite/23_containers/span/last_2_assert_neg.cc: New test.
	* testsuite/23_containers/span/last_assert_neg.cc: New test.
	* testsuite/23_containers/span/subspan_2_assert_neg.cc: New test.
	* testsuite/23_containers/span/subspan_3_assert_neg.cc: New test.
	* testsuite/23_containers/span/subspan_4_assert_neg.cc: New test.
	* testsuite/23_containers/span/subspan_5_assert_neg.cc: New test.
	* testsuite/23_containers/span/subspan_6_assert_neg.cc: New test.
	* testsuite/23_containers/span/subspan_assert_neg.cc: New test.

From-SVN: r275411
2019-09-05 14:48:33 +01:00
Jonathan Wakely
efd9a01b59 Remove broken URL from libstdc++ manual
The URL for the "What Are Allocators Good For?" article has been a
recurring source of problems. It moved from the C/C++ Users Journal
website to the Dr Dobbs site after CUJ shut down, and the original
domain changed hands, leaving old links pointing to nefarious sites.

Now the URL to the copy on drdobbs.com no longer works either and I
can't find a (legal) copy of the article online. The simplest solution
is to remove the URL.

	* doc/xml/manual/allocator.xml: Remove URL for bibliography entry.
	* doc/html/*: Regenerate.

From-SVN: r275398
2019-09-05 08:46:00 +01:00
Ulrich Weigand
2f2aeda98f Remove Cell Broadband Engine SPU targets
From-SVN: r275343
2019-09-03 15:08:28 +00:00
Jonathan Wakely
30f43083ae Update libstdc++ docs for library version bumps
* doc/xml/manual/abi.xml: Document 9.x library versions.
	* doc/html/*: Regenerate.

From-SVN: r275314
2019-09-02 12:31:30 +01:00
Jonathan Wakely
bf5824f928 Corrections for C++2a library status table
* doc/xml/manual/status_cxx2020.xml: Add missing row for P0920R2.
	Fix bgcolor for P0340R3.
	* doc/html/*: Regenerate.

From-SVN: r271868
2019-06-03 14:32:17 +01:00
Jonathan Wakely
512a80ec49 PR libstdc++/90686 update C++2a library status docs
PR libstdc++/90686
	* doc/xml/manual/status_cxx2014.xml: Document what's missing from
	<experimental/memory_resource>.
	* doc/xml/manual/status_cxx2020.xml: Document status of P1285R0,
	P0339R6, P0340R3, P1164R1 and P1357R1.
	* doc/html/*: Regenerate.

From-SVN: r271867
2019-06-03 14:23:03 +01:00
Jonathan Wakely
01b3b9e39f Update libstdc++ documentation for Support and Diagnostics clauses
* doc/xml/manual/diagnostics.xml: Update list of headers that define
	exception classes.
	* doc/xml/manual/support.xml: Rewrite advice around NULL. Rewrite
	section about new/delete overloads. Improve section on verbose
	terminate handler.
	* doc/html/*: Regenerate.

From-SVN: r271782
2019-05-30 16:47:32 +01:00
Jonathan Wakely
62971f4644 Update C++20 status table
The status of P1353R0 was "Partial" because we don't define the
__cpp_lib_three_way_comparison macro, but that's because we don't
support the feature. So the paper can be marked as done.

	* doc/xml/manual/status_cxx2020.xml: Add feature-test macro for
	P0811R3. Change status of P1353R0.
	* doc/html/*: Regenerate.

From-SVN: r271774
2019-05-30 11:31:54 +01:00
Jonathan Wakely
37ad0fc942 Update documentation of implementation-defined library features
* doc/xml/manual/status_cxx2011.xml: Use <variablelist> for
	documentation of implementation-defined types for [thread.req.native].
	* doc/xml/manual/status_cxx2017.xml: Update documentation of
	implementation-defined strings for [variant.bad.access]. Fix typo in
	documentation of implementation-defined support for [fs.conform.9945].
	* doc/html/*: Regenerate.

From-SVN: r271773
2019-05-30 11:14:06 +01:00
Jonathan Wakely
b0c0d878a8 PR libstdc++/85494 use rdseed and rand_s in std::random_device
Add support for additional sources of randomness to std::random_device,
to allow using RDSEED for Intel CPUs and rand_s for Windows. When
supported these can be selected using the tokens "rdseed" and "rand_s".
For *-w64-mingw32 targets the "default" token will now use rand_s, and
for other i?86-*-* and x86_64-*-* targets it will try to use "rdseed"
first, then "rdrand", and finally "/dev/urandom".

To simplify the declaration of std::random_device in <bits/random.h> the
constructors now unconditionally call _M_init instead of _M_init_pretr1,
and the function call operator now unconditionally calls _M_getval. The
library code now decides whether _M_init and _M_getval should use a real
source of randomness or the mt19937 engine.

Existing code compiled against old libstdc++ headers will still call
_M_init_pretr1 and _M_getval_pretr1, but those functions now forward to
_M_init and _M_getval if a real source of randomness is available. This
means existing code compiled for mingw-w64 will start to use rand_s just
by linking to a new libstdc++.dll.

	* acinclude.m4 (GLIBCXX_CHECK_X86_RDSEED): Define macro to check if
	the assembler supports rdseed.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* configure.ac: Use GLIBCXX_CHECK_X86_RDSEED.
	* config/os/mingw32-w64/os_defines.h (_GLIBCXX_USE_CRT_RAND_S): Define.
	* doc/html/*: Regenerate.
	* doc/xml/manual/status_cxx2011.xml: Document new tokens.
	* include/bits/random.h (random_device::random_device()): Always call
	_M_init rather than _M_init_pretr1.
	(random_device::random_device(const string&)): Likewise.
	(random_device::operator()()): Always call _M_getval().
	(random_device::_M_file): Replace first member of union with an
	anonymous struct, with _M_file as its first member.
	* src/c++11/random.cc [_GLIBCXX_X86_RDRAND] (USE_RDRAND): Define.
	[_GLIBCXX_X86_RDSEED] (USE_RDSEED): Define.
	(USE_MT19937): Define if none of the above are defined.
	(USE_POSIX_FILE_IO): Define.
	(_M_strtoul): Remove.
	[USE_RDSEED] (__x86_rdseed): Define new function.
	[_GLIBCXX_USE_CRT_RAND_S] (__winxp_rand_s): Define new function.
	(random_device::_M_init(const string&)): Initialize new union members.
	Add support for "rdseed" and "rand_s" tokens. Decide what the
	"default" token does according to which USE_* macros are defined.
	[USE_POSIX_FILE_IO]: Store a file descriptor.
	[USE_MT19937]: Forward to _M_init_pretr1 instead.
	(random_device::_M_init_pretr1(const string&)) [USE_MT19937]: Inline
	code from _M_strtoul.
	[!USE_MT19937]: Call _M_init, transforming the old default token or
	numeric tokens to "default".
	(random_device::_M_fini()) [USE_POSIX_FILE_IO]: Use close not fclose.
	(random_device::_M_getval()): Use new union members to obtain a
	random number from the stored function pointer or file descriptor.
	[USE_MT19937]: Obtain a value from the mt19937 engine.
	(random_device::_M_getval_pretr1()): Call _M_getval().
	(random_device::_M_getentropy()) [USE_POSIX_FILE_IO]: Use _M_fd
	instead of fileno.
	[!USE_MT19937] (mersenne_twister): Do not instantiate when not needed.
	* testsuite/26_numerics/random/random_device/85494.cc: New test.

From-SVN: r271740
2019-05-29 15:45:35 +01:00
Jonathan Wakely
fb3fc4bded LWG 2996 add rvalue overloads for shared_ptr aliasing and casting
* doc/xml/manual/intro.xml: Document LWG DR 2996 change.
	* doc/html/*: Regenerate.
	* include/bits/shared_ptr.h (shared_ptr(shared_ptr&&, T*)): Add
	rvalue aliasing constructor.
	(static_pointer_cast, const_pointer, dynamic_pointer_cast)
	(reinterpret_pointer_cast): Add overloads taking rvalues.
	* include/bits/shared_ptr_base.h (__shared_ptr(__shared_ptr&&, T*)):
	Add rvalue aliasing constructor.
	* testsuite/20_util/shared_ptr/casts/1.cc: Change "compile" test to
	"run" and check return values as well as types.
	* testsuite/20_util/shared_ptr/casts/reinterpret.cc: Likewise.
	* testsuite/20_util/shared_ptr/casts/rval.cc: New test.
	* testsuite/20_util/shared_ptr/cons/alias-rval.cc: New test.
	* testsuite/20_util/shared_ptr/cons/alias.cc: Remove unused return
	values.

From-SVN: r271583
2019-05-23 22:41:02 +01:00
Jonathan Wakely
1a4f7c1b05 Add missing feature test macro to C++17 status table
* doc/xml/manual/status_cxx2017.xml: Add feature test macro for
	P0040R3.
	* doc/html/*: Regenerate.

From-SVN: r271571
2019-05-23 17:01:18 +01:00
Jonathan Wakely
32a1aa7095 Add missing piece of P0777R1 and update C++20 status docs
* doc/xml/manual/status_cxx2020.xml: Update P0608R3, P0777R1, and
	P1165R1 entries.
	* doc/html/*: Regenerate.
	* include/std/tuple (make_from_tuple): Use remove_reference_t instead
	of decay_t (P0777R1).

From-SVN: r271316
2019-05-17 10:28:13 +01:00
Jonathan Wakely
544be2beb1 Remove Profile Mode, deprecated since GCC 7.1
The Profile Mode extension is not used by anybody, nor maintained by
anybody. The containers do not support the full API specified in recent
standards, and so enabling Profile Mode is not source compatible with
much modern C++ code. The heuristics that would check the profile
information and make useful suggestions never materialized, so it isn't
useful.

It should be removed.

	Remove Profile Mode, deprecated since 7.1.0
	* doc/Makefile.am: Remove XML file for profile mode docs.
	* doc/Makefile.in: Regenerate.
	* doc/xml/authors.xml: Remove authors of profile mode docs.
	* doc/xml/manual/appendix_contributing.xml: Remove mention of profile
	mode.
	* doc/xml/manual/debug.xml: Likewise.
	* doc/xml/manual/evolution.xml: Document removal of profile mode.
	* doc/xml/manual/profile_mode.xml: Remove profile mode docs.
	* doc/xml/manual/spine.xml: Remove profile mode author credit.
	* doc/xml/manual/test.xml: Remove docs for dg-require-profile-mode
	directive.
	* doc/xml/manual/using.xml: Remove docs for profile mode headers and
	macro.
	* doc/html/*: Regenerate.
	* include/Makefile.am: Remove profile mode headers.
	* include/Makefile.in: Regenerate.
	* include/bits/c++config (std::__profile): Remove namespace.
	[_GLIBCXX_PROFILE]: Remove checks for macro.
	* include/profile/array: Remove.
	* include/profile/base.h: Remove.
	* include/profile/bitset: Remove.
	* include/profile/deque: Remove.
	* include/profile/forward_list: Remove.
	* include/profile/impl/profiler.h: Remove.
	* include/profile/impl/profiler_algos.h: Remove.
	* include/profile/impl/profiler_container_size.h: Remove.
	* include/profile/impl/profiler_hash_func.h: Remove.
	* include/profile/impl/profiler_hashtable_size.h: Remove.
	* include/profile/impl/profiler_list_to_slist.h: Remove.
	* include/profile/impl/profiler_list_to_vector.h: Remove.
	* include/profile/impl/profiler_map_to_unordered_map.h: Remove.
	* include/profile/impl/profiler_node.h: Remove.
	* include/profile/impl/profiler_state.h: Remove.
	* include/profile/impl/profiler_trace.h: Remove.
	* include/profile/impl/profiler_vector_size.h: Remove.
	* include/profile/impl/profiler_vector_to_list.h: Remove.
	* include/profile/iterator_tracker.h: Remove.
	* include/profile/list: Remove.
	* include/profile/map: Remove.
	* include/profile/map.h: Remove.
	* include/profile/multimap.h: Remove.
	* include/profile/multiset.h: Remove.
	* include/profile/ordered_base.h: Remove.
	* include/profile/set: Remove.
	* include/profile/set.h: Remove.
	* include/profile/unordered_base.h: Remove.
	* include/profile/unordered_map: Remove.
	* include/profile/unordered_set: Remove.
	* include/profile/vector: Remove.
	* scripts/run_doxygen: Do not process profile mode headers.
	* testsuite/23_containers/array/element_access/60497.cc: Don't use
	profile mode type.
	* testsuite/23_containers/array/specialized_algorithms/swap_cxx17.cc:
	Remove dg-skip-if for profile mode.
	* testsuite/23_containers/forward_list/capacity/1.cc: Remove
	preprocessor check for profile mode.
	* testsuite/23_containers/list/capacity/29134.cc: Likewise.
	* testsuite/23_containers/map/modifiers/extract.cc: Remove dg-skip-if
	for profile mode.
	* testsuite/23_containers/map/modifiers/insert_or_assign/1.cc:
	Likewise.
	* testsuite/23_containers/map/modifiers/try_emplace/1.cc: Likewise.
	* testsuite/23_containers/multimap/modifiers/extract.cc: Likewise.
	* testsuite/23_containers/multiset/modifiers/extract.cc: Likewise.
	* testsuite/23_containers/set/modifiers/extract.cc: Likewise.
	* testsuite/23_containers/unordered_map/modifiers/extract.cc:
	Likewise.
	* testsuite/23_containers/unordered_multimap/modifiers/extract.cc:
	Likewise.
	* testsuite/23_containers/unordered_multiset/modifiers/extract.cc:
	Likewise.
	* testsuite/23_containers/unordered_set/modifiers/extract.cc:
	Likewise.
	* testsuite/23_containers/vector/bool/capacity/29134.cc: Remove
	preprocessor check for profile mode.
	* testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
	Likewise.
	* testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
	Remove dg-skip-if for profile mode.
	* testsuite/25_algorithms/binary_search/partitioned.cc: Likewise.
	* testsuite/25_algorithms/equal_range/partitioned.cc: Likewise.
	* testsuite/25_algorithms/lexicographical_compare/71545.cc: Likewise.
	* testsuite/25_algorithms/lower_bound/partitioned.cc: Likewise.
	* testsuite/25_algorithms/upper_bound/partitioned.cc: Likewise.
	* testsuite/Makefile.am: Remove profile_flags variable and
	* testsuite/Makefile.am: Remove profile_flags variable and
	check-profile target.
	* testsuite/Makefile.in: Regenerate.
	* testsuite/ext/profile/all.cc: Remove.
	* testsuite/ext/profile/mutex_extensions_neg.cc: Remove.
	* testsuite/ext/profile/profiler_algos.cc: Remove.
	* testsuite/ext/profile/replace_new.cc: Remove.
	* testsuite/ext/throw_allocator/deallocate_global.cc: Remove
	preprocessor check for profile mode.
	* testsuite/ext/throw_allocator/deallocate_local.cc: Likewise.
	* testsuite/lib/libstdc++.exp (check_v3_target_profile_mode): Remove.
	(check_v3_target_normal_mode): Do not check for profile mode macro.
	* testsuite/libstdc++-prettyprinters/80276.cc: Remove dg-skip-if for
	profile mode.
	* testsuite/libstdc++-prettyprinters/compat.cc: Likewise.
	* testsuite/libstdc++-prettyprinters/cxx11.cc: Likewise.
	* testsuite/libstdc++-prettyprinters/cxx17.cc: Likewise.
	* testsuite/libstdc++-prettyprinters/debug.cc: Likewise.
	* testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Likewise.
	* testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
	* testsuite/libstdc++-prettyprinters/simple.cc: Likewise.
	* testsuite/libstdc++-prettyprinters/simple11.cc: Likewise.
	* testsuite/libstdc++-prettyprinters/whatis.cc: Likewise.
	* testsuite/libstdc++-prettyprinters/whatis2.cc: Likewise.

From-SVN: r271120
2019-05-13 11:50:21 +01:00
Jonathan Wakely
7c3e085e44 Update C++17 library status tables
* doc/xml/manual/status_cxx2017.xml: Document P0024R2 status.
	* doc/html/*: Regenerate.

From-SVN: r270559
2019-04-24 23:16:45 +01:00
Jonathan Wakely
cad3fc8c59 Update libstdc++ API Evolution documentation
* doc/xml/manual/allocator.xml: Link to table documenting evolution
	of extension allocators.
	* doc/xml/manual/evolution.xml: Use angle brackets for header names.
	Document new headers in 7.2, 8.1 and 9.1 releases.
	* doc/xml/manual/using.xml: Adjust link target for new_allocator.
	* doc/html/*: Regenerate.

From-SVN: r269794
2019-03-19 09:38:41 +00:00
Jonathan Wakely
c7904d9e08 Fix text of hyperlink in manual
* doc/xml/manual/using.xml: Use link element instead of xref.
	* doc/html/*: Regenerate.

From-SVN: r269494
2019-03-08 13:56:53 +00:00
Jonathan Wakely
5178f5c255 Update C++20 status table in libstdc++ manual
* doc/xml/manual/status_cxx2020.xml: Update C++20 status.
	* doc/html/*: Regenerate.

From-SVN: r269456
2019-03-07 14:25:05 +00:00
Jonathan Wakely
323694e9a2 Update libstdc++ documentation for C++2a implementation status
* doc/xml/manual/status_cxx2020.xml: Update P0887R1 status.
	* doc/html/*: Regenerate.

From-SVN: r268885
2019-02-14 17:46:26 +00:00
Jonathan Wakely
bb2a18a3a8 Update libstdc++ documentation for implementation status
* doc/xml/manual/status_cxx2017.xml: Add P0063R3 to status table.
	* doc/html/*: Regenerate.

From-SVN: r268883
2019-02-14 15:12:57 +00:00
Jonathan Wakely
66dc59e24f Document C++20 library status
* doc/xml/manual/intro.xml: Include new section.
	* doc/xml/manual/status_cxx2017.xml: Document more
	implementation-defined properties of the library.
	* doc/xml/manual/status_cxx2020.xml: Document C++2a status.
	* doc/html/*: Regenerate.

From-SVN: r267867
2019-01-11 23:41:15 +00:00
Jonathan Wakely
f0f1121b40 Update documentation for C++17 filesystem library
* doc/xml/manual/spine.xml: Update copyright years.
	* doc/xml/manual/status_cxx2017.xml: Adjust note about -lstdc++fs.
	* doc/xml/manual/using.xml: Remove requirement to link with -lstdc++fs
	for C++17 filesystem library.
	* doc/html/*: Regenerate.

From-SVN: r267648
2019-01-07 12:46:40 +00:00
Jonathan Wakely
5916922e34 Update C++17 library status docs
* doc/xml/manual/status_cxx2017.xml: Update C++17 status.
	* doc/html/*: Regenerate.

From-SVN: r266559
2018-11-28 13:49:47 +00:00