Commit Graph

669 Commits

Author SHA1 Message Date
Tomasz Kamiński 128f1602a0 libstdc++: Document remaining C++17 implementation-defined behavior.
This also covers bad_function_call::what from C++11.

libstdc++-v3/ChangeLog:

	* doc/html/manual/status.html: Regenerate.
	* doc/xml/manual/status_cxx2011.xml: Add entry for bad_function_call.
	* doc/xml/manual/status_cxx2017.xml: Add entries for bad_any_cast
	and nullptr_t output. Update entry for sf.cmath. Fix stable name for
	mem.res.

Reviewed-by: Jonathan Wakely <jwakely@redhat.com>
Signed-off-by: Tomasz Kamiński <tkaminsk@redhat.com>
(cherry picked from commit 39d7c4d42a)
2025-09-09 16:15:33 +02:00
Tomasz Kamiński 9e1e285549 libstdc++: Document missing implementation defined behavior for std::filesystem.
libstdc++-v3/ChangeLog:

	* doc/html/manual/status.html: Regenerate the file.
	* doc/xml/manual/status_cxx2017.xml: Addd more entires.

Reviewed-by: Jonathan Wakely <jwakely@redhat.com>
Signed-off-by: Tomasz Kamiński <tkaminsk@redhat.com>
(cherry picked from commit d6c370b8e9)
2025-09-09 16:15:33 +02:00
Jonathan Wakely d01494e8cf
libstdc++: Fix docs for --enable-vtable-verify [PR120698]
libstdc++-v3/ChangeLog:

	PR libstdc++/120698
	* doc/xml/manual/configure.xml: Do not claim that vtv is enabled
	by default.
	* doc/html/manual/configure.html: Regenerate.

(cherry picked from commit d199a9c7c5)
2025-09-08 21:58:22 +01:00
Jonathan Wakely d97de614f7
libstdc++: Fix incorrect links to archived SGI STL docs
In r8-7777-g25949ee33201f2 I updated some URLs to point to copies of the
SGI STL docs in the Wayback Machine, because the original pags were no
longer hosted on sgi.com. However, I incorrectly assumed that if one
archived page was at https://web.archive.org/web/20171225062613/... then
all the other pages would be too. Apparently that's not how the Wayback
Machine works, and each page is archived on a different date. That meant
that some of our links were redirecting to archived copies of the
announcement that the SGI STL docs have gone away.

This fixes each URL to refer to a correctly archived copy of the
original docs.

libstdc++-v3/ChangeLog:

	* doc/xml/faq.xml: Update URL for archived SGI STL docs.
	* doc/xml/manual/containers.xml: Likewise.
	* doc/xml/manual/extensions.xml: Likewise.
	* doc/xml/manual/using.xml: Likewise.
	* doc/xml/manual/utilities.xml: Likewise.
	* doc/html/*: Regenerate.

(cherry picked from commit 501e6e7866)
2025-06-10 21:02:32 +01:00
Jonathan Wakely a496464e2f
libstdc++: Update C++23 status table
This should have been updated for the GCC 13.1 release.

libstdc++-v3/ChangeLog:

	* doc/xml/manual/status_cxx2023.xml: Update status of proposals
	implemented for GCC 13.
	* doc/html/manual/status.html: Regenerate.
2025-05-12 14:58:53 +01:00
Jonathan Wakely bbca95724c libstdc++: Document thread-safety for COW std::string [PR21334]
The gcc4-compatible copy-on-write std::string does not conform to the
C++11 requirements on data race avoidance in standard containers.
Specifically, calling non-const member functions such as begin() and
data() needs to do the "copy on write" operation and so is most
definitely a modification of the object. As such, those non-const
members must not be called concurrently with any other uses of the
string object.

libstdc++-v3/ChangeLog:

	PR libstdc++/21334
	* doc/xml/manual/using.xml: Document that container data race
	avoidance rules do not apply to COW std::string.
	* doc/html/*: Regenerate.

(cherry picked from commit dd35f66287)
2025-04-15 09:33:12 +01:00
Jonathan Wakely 4ad6a2503d
libstdc++: Fix some broken links in the manual
libstdc++-v3/ChangeLog:

	* doc/xml/manual/policy_data_structures_biblio.xml: Fix two
	broken links.
	* doc/html/manual/policy_data_structures.html: Regenerate.

(cherry picked from commit 1e4d81aab2)
2025-03-31 12:05:15 +01:00
Jonathan Wakely cbd41cd291
libstdc++: Fix some typos and grammatical errors in docs
Also remove some redundant 'void' parameters from code examples.

libstdc++-v3/ChangeLog:

	* doc/xml/manual/using_exceptions.xml: Fix typos and grammatical
	errors.
	* doc/html/manual/using_exceptions.html: Regenerate.

(cherry picked from commit 96566cc46d)
2025-03-31 12:05:15 +01:00
Gerald Pfeifer 7cdc7efa11
libstdc++: Update references to gcc.gnu.org/onlinedocs
libstdc++-v3:
	* doc/xml/manual/abi.xml: Update reference to
	gcc.gnu.org/onlinedocs.
	* doc/xml/manual/concurrency_extensions.xml (interface): Ditto.
	* doc/xml/manual/extensions.xml: Ditto.
	* doc/xml/manual/parallel_mode.xml: Ditto.
	* doc/xml/manual/shared_ptr.xml: Ditto.
	* doc/xml/manual/using_exceptions.xml: Ditto. And change GNU GCC
	to GCC.
	* doc/html/*: Regenerate.

(cherry picked from commit e68ab0f160)
2025-03-31 12:05:04 +01:00
Jonathan Wakely 4dfce5c5c0
libstdc++: Remove stray comma in testing docs
libstdc++-v3/ChangeLog:

	* doc/xml/manual/test.xml: Remove stray comma.
	* doc/html/manual/test.html: Regenerate.

(cherry picked from commit ac16d6d74f)
2025-03-31 12:03:14 +01:00
Jonathan Wakely 9445b773f9
libstdc++: Correct statement about default -std option
The default is -std=gnu++17 now, not -std=gnu++14.

libstdc++-v3/ChangeLog:

	* doc/xml/manual/test.xml: Fix default for -std option.
	* doc/html/manual/test.html: Regenerate.

(cherry picked from commit b93e60e790)
2025-03-31 12:03:14 +01:00
Jonathan Wakely 770512a0f3 libstdc++: Document when std::string::shrink_to_fit was added
This section can be misread to say that shrink_to_fit is available from
GCC 3.4, but it was added later.

libstdc++-v3/ChangeLog:

	* doc/xml/manual/strings.xml: Clarify that GCC 4.5 added
	std::string::shrink_to_fit.
	* doc/html/manual/strings.html: Regenerate.

(cherry picked from commit 0a99ad5c52)
2025-03-17 19:39:56 +00:00
Jonathan Wakely 4498d48174 libstdc++: Fix incorrect DocBook element in manual
libstdc++-v3/ChangeLog:

	* doc/xml/manual/evolution.xml: Replace invalid <variable>
	elements with <varname>.
	* doc/html/*: Regenerate.

(cherry picked from commit 720945e8bc)
2025-01-09 14:49:20 +00:00
Jonathan Wakely 68e267ea80 libstdc++: Document missing features for old std::string ABI [PR116777]
There are several features that are not supported when using the old
std::string ABI. It's possible that PR 81967 will get fixed, but the
missing C++20 features almost certainly won't be. Document this in the
manual.

libstdc++-v3/ChangeLog:

	PR libstdc++/116777
	* doc/xml/manual/using.xml: Document features that are not
	supported for the gcc4-compatible ABI.
	* doc/html/manual/using_dual_abi.html: Regenerate.

(cherry picked from commit 8230922230)
2024-10-16 21:17:47 +01:00
Jonathan Wakely 84cae12ed9 libstdc++: Replace viewcvs links in docs with cgit links
For this backport to the release branch, the links to the git repo refer
to the branch.

libstdc++-v3/ChangeLog:

	* doc/xml/faq.xml: Replace viewcvs links with cgit links.
	* doc/xml/manual/allocator.xml: Likewise.
	* doc/xml/manual/mt_allocator.xml: Likewise.
	* doc/html/*: Regenerate.

(cherry picked from commit 9d8021d187)
2024-06-28 10:41:06 +01:00
Jonathan Wakely bc6e4bd567 libstdc++: Remove confusing text from status tables for release branch
When I tried to make the release branch versions of these docs refer to
the release branch instead of "mainline GCC", for some reason I left the
text "not any particular release" there. That's just confusing, because
the docs are for a particular release, the latest on that branch. Remove
that confusing text in several places.

libstdc++-v3/ChangeLog:

	* doc/xml/manual/status_cxx1998.xml: Remove confusing "not in
	any particular release" text.
	* doc/xml/manual/status_cxx2011.xml: Likewise.
	* doc/xml/manual/status_cxx2014.xml: Likewise.
	* doc/xml/manual/status_cxx2017.xml: Likewise.
	* doc/xml/manual/status_cxx2020.xml: Likewise.
	* doc/xml/manual/status_cxx2023.xml: Likewise.
	* doc/xml/manual/status_cxxtr1.xml: Likewise.
	* doc/xml/manual/status_cxxtr24733.xml: Likewise.
	* doc/html/manual/status.html: Regenerate.
2024-06-25 23:32:20 +01:00
Jonathan Wakely 3687dcfabf libstdc++: Replace link to gcc-4.3.2 docs in manual [PR115269]
Link to the docs for GCC trunk instead. For the release branches, the
link should be to the docs for appropriate release branch.

Also replace the incomplete/outdated list of explicit -std options with
a single entry for the -std option.

libstdc++-v3/ChangeLog:

	PR libstdc++/115269
	* doc/xml/manual/using.xml: Replace link to gcc-4.3.2 docs.
	Replace list of -std=... options with a single entry for -std.
	* doc/html/manual/using.html: Regenerate.

(cherry picked from commit b460ede64f)
2024-06-01 11:03:46 +01:00
Jonathan Wakely 56f28dd436
libstdc++: Update status tables to refer to GCC 13 not mainline
This should have been done before the 13.1.0 release.

libstdc++-v3/ChangeLog:

	* doc/html/manual/status.html: Regenerate.
	* doc/xml/manual/status_cxx1998.xml: Replace references to
	mainline GCC.
	* doc/xml/manual/status_cxx2011.xml: Likewise.
	* doc/xml/manual/status_cxx2014.xml: Likewise.
	* doc/xml/manual/status_cxx2017.xml: Likewise.
	* doc/xml/manual/status_cxx2020.xml: Likewise.
	* doc/xml/manual/status_cxx2023.xml: Likewise.
	* doc/xml/manual/status_cxxtr1.xml: Likewise.
	* doc/xml/manual/status_cxxtr24733.xml: Likewise.
2024-04-26 11:46:52 +01:00
Jonathan Wakely a2c960dd7e libstdc++: Correct notes about std::call_once in manual [PR66146]
The bug with exceptions thrown during a std::call_once call affects all
targets, so fix the docs that say it only affects non-Linux targets.

libstdc++-v3/ChangeLog:

	PR libstdc++/66146
	* doc/xml/manual/status_cxx2011.xml: Remove mention of Linux in
	note about std::call_once.
	* doc/xml/manual/status_cxx2014.xml: Likewise.
	* doc/xml/manual/status_cxx2017.xml: Likewise.
	* doc/html/manual/status.html: Regenerate.

(cherry picked from commit e6836bbbd7)
2024-03-18 10:59:27 +00:00
Jonathan Wakely d92942efb3 libstdc++: Fix typo in C++20 status table
libstdc++-v3/ChangeLog:

	* doc/xml/manual/status_cxx2023.xml: Close parenthesis.
	* doc/html/manual/status.html: Regenerate.
2024-03-15 17:05:24 +00:00
Jonathan Wakely 90acd16257 libstdc++: Change some URLs in the manual to use https
libstdc++-v3/ChangeLog:

	* doc/xml/manual/appendix_contributing.xml: Change URLs to use
	https.
	* doc/html/manual/*: Regenerate.

(cherry picked from commit 06866bc368)
2024-03-01 10:52:12 +00:00
Jonathan Wakely 9888addaa9 libstdc++: Update outdated docs on contributing
We don't want a separate ChangeLog submission now.

libstdc++-v3/ChangeLog:

	* doc/xml/manual/appendix_contributing.xml: Replace outdated
	info on ChangeLog entries.
	* doc/html/manual/appendix_contributing.html: Regenerate.

(cherry picked from commit 7c7c937b5e)
2024-03-01 10:52:12 +00:00
Jonathan Wakely 1074fd605e libstdc++: Fix spelling mistake in new doc addition
libstdc++-v3/ChangeLog:

	* doc/xml/manual/evolution.xml: Fix spelling.
	* doc/html/manual/api.html: Regenerate.

(cherry picked from commit 9bac1d7839)
2024-01-11 21:28:09 +00:00
Jonathan Wakely 29809d2332 libstdc++: Document addition of libstdc++exp.a
The API Evolution section of the manual should mention when the
libstdc++exp.a library was added.

libstdc++-v3/ChangeLog:

	* doc/xml/manual/evolution.xml: Document addition of
	libstdc++exp.a.
	* doc/html/*: Regenerate.

(cherry picked from commit a3babd7db7)
2024-01-11 20:20:04 +00:00
Jonathan Wakely 17acf9fbeb libstdc++: Add Filesystem TS and std::stacktrace symbols to libstdc++exp.a
This consolidates the three static archives for extensions into one, so
that -lstdc++exp can be used to provide the definitions of all unstable
library features.

For this gcc-13 backport libstdc++_libbacktrace.a is still installed,
but its contents are duplicated in libstdc++exp.a. This means that users
can start using -lstdc++exp with GCC 13.3 if they want, but existing
Makefiles can continue to use -lstdc++_libbacktrace for any GCC 13.x
release.

The libstdc++fs.a archive is still installed, but its contents are
duplicated in libstdc++exp.a now. This means -lstdc++exp can be used
instead of -lstdc++fs. For targets using the GNU linker we should
consider replacing libstdc++fs.a with a linker script that does
INPUT(libstdc++exp.a).

The tests for <experimental/filesystem> could be changed to use
-lstdc++exp instead of -lstdc++fs, which would allow removing
src/filesystem/.libs from the LDFLAGS in scripts/testsuite_flags.in,
but that can be done at a later date.

libstdc++-v3/ChangeLog:

	* doc/html/manual/*: Regenerate.
	* doc/xml/manual/using.xml: Update documentation on linking.
	* scripts/testsuite_flags.in: Adjust LDFLAGS to find
	libstdc++exp instead of libstdc++_libbacktrace.
	* src/c++20/Makefile.am: Fix comment.
	* src/c++20/Makefile.in: Regenerate.
	* src/experimental/Makefile.am: Use LIBADD to include other
	libraries.
	* src/experimental/Makefile.in: Regenerate.
	* testsuite/19_diagnostics/stacktrace/current.cc: Adjust
	dg-options to use -lstdc++exp.
	* testsuite/19_diagnostics/stacktrace/entry.cc: Likewise.
	* testsuite/19_diagnostics/stacktrace/stacktrace.cc: Likewise.
	* testsuite/23_containers/vector/debug/assign4_backtrace_neg.cc:
	Likewise.

(cherry picked from commit b96b554592)
2024-01-10 11:20:02 +00:00
Jonathan Wakely 26956b8500 libstdc++: Update C++20 and C++23 status docs
libstdc++-v3/ChangeLog:

	* doc/xml/manual/configure.xml: Use conventional option name.
	* doc/xml/manual/status_cxx2020.xml: Update.
	* doc/xml/manual/status_cxx2023.xml: Update.
	* doc/html/*: Regenerate.

(cherry picked from commit c8e9a75085)
2023-09-18 15:31:29 +01:00
Jonathan Wakely d8e351d8d6 libstdc++: Update outdated default -std in testing docs
libstdc++-v3/ChangeLog:

	* doc/xml/manual/test.xml: Update reference to -std=gnu++14 as
	the default.
	* doc/html/manual/test.html: Regenerate.
2023-09-08 16:30:25 +01:00
Jonathan Wakely 94d24f1af6 libstdc++: Document --enable-cstdio=stdio_pure [PR104299]
libstdc++-v3/ChangeLog:

	PR libstdc++/104299
	* doc/xml/manual/configure.xml: Describe stdio_pure argument to
	--enable-cstdio.
	* doc/html/manual/configure.html: Regenerate.

(cherry picked from commit b90a70984a)
2023-07-06 16:39:13 +01:00
Jonathan Wakely d50255d8d2 libstdc++: Document removal of implicit allocator rebinding extensions
Traditionally libstdc++ allowed containers to be
instantiated with allocator's that have the wrong value type, implicitly
rebinding the allocator to the container's value type. Since C++20 that
has been explicitly ill-formed, so the extension is no longer supported
in strict modes (e.g. -std=c++17) and in C++20 and later.

libstdc++-v3/ChangeLog:

	* doc/xml/manual/evolution.xml: Document removal of implicit
	allocator rebinding extensions in strict mode and for C++20.
	* doc/html/*: Regenerate.

(cherry picked from commit 8cbaf679a3)
2023-06-01 18:08:12 +01:00
Jonathan Wakely c1a9847913 libstdc++: Document new library version in manual
libstdc++-v3/ChangeLog:

	* doc/xml/manual/abi.xml (abi.versioning.history): Document
	libstdc++.so.6.0.32 and GLIBCXX_3.4.32 version.
	* doc/html/manual/abi.html: Regenerate.

(cherry picked from commit 2eadfb5c7e)
2023-05-04 12:49:37 +01:00
Florian Weimer fb1a1fc6ab libstdc++: Mention recent libgcc_s symbol versions in manual
GCC_11.0 is an aarch64-specific outlier.

libstdc++-v3/ChangeLog:

	* doc/xml/manual/abi.xml (abi.versioning.history): Add
	GCC_7.0.0, GCC_9.0.0, GCC_11.0, GCC_12.0.0, GCC_13.0.0 for
	libgcc_s.

(cherry picked from commit 9cb3f25460)
2023-05-04 12:49:35 +01:00
Jonathan Wakely adda0e2887 libstdc++: Document libstdc++exp.a library for -fcontracts
libstdc++-v3/ChangeLog:

	* doc/xml/manual/using.xml: Document libstdc++exp.a library.
	* doc/html/*: Regenerate.
2023-04-12 23:26:35 +01:00
Jonathan Wakely 688d126b69 libstdc++: Fix outdated docs about demangling exception messages
The string returned by std::bad_exception::what() hasn't been a mangled
name since PR libstdc++/14493 was fixed for GCC 4.2.0, so remove the
docs showing how to demangle it.

libstdc++-v3/ChangeLog:

	* doc/xml/manual/extensions.xml: Remove std::bad_exception from
	example program.
	* doc/html/manual/ext_demangling.html: Regenerate.
2023-04-04 12:15:59 +01:00
Jonny Grant dbec2e8169 libstdc++: Update copyright year in FAQ
libstdc++-v3/ChangeLog:

	* doc/xml/faq.xml: Update copyright year.
2023-03-13 10:39:38 +00:00
Gerald Pfeifer fa0ecd22f8 libstdc++: Move www.graphviz.org to https
libstdc++-v3/ChangeLog:

	* doc/xml/manual/documentation_hacking.xml: Move www.graphviz.org
	to https.
	* doc/html/manual/documentation_hacking.html: Regenerate.
2023-03-12 11:14:49 +01:00
Gerald Pfeifer 3e558fb7f3 libstdc++: Switch two links to www.open-std.org to https
libstdc++-v3/ChangeLog:

	* doc/xml/faq.xml: Switch two links to www.open-std.org to https.
	* doc/html/faq.html: Regenerate.
2023-02-18 10:59:11 +01:00
Gerald Pfeifer 7e300a3d04 libstdc++: Update an open-std.org link
libstdc++-v3/ChangeLog:

	* doc/xml/manual/status_cxx2017.xml: Update an open-std.org link
	to www.open-std.org and https.
	* doc/html/manual/status.html: Regenerate.
2023-02-14 22:17:10 +01:00
Gerald Pfeifer a1292514f8 libstdc++: Adjust "The Component Object Model" reference
libstdc++-v3/ChangeLog:

	* doc/xml/manual/policy_data_structures_biblio.xml: Adjust
	"The Component Object Model" reference.
	* doc/html/manual/policy_data_structures.html: Regenerate.
2023-02-13 23:30:37 +01:00
Gerald Pfeifer 74e72964b4 libstdc++: Tweak link to N1780 (C++ standard)
libstdc++-v3/ChangeLog:

	* doc/xml/manual/containers.xml: Tweak a link to N1780
	(C++ standard).
	* doc/html/manual/associative.html: Regenerate.
2023-02-12 23:35:40 +01:00
Gerald Pfeifer 4fd0cfd87b libstdc++: Change www.unix.org to unix.org
www.unix.org now redirects to unix.org.

libstdc++-v3/ChangeLog:

	* doc/xml/manual/ctype.xml: Change www.unix.org to unix.org.
	* doc/html/manual/facets.html: Regenerate.
2023-02-12 09:58:08 +01:00
Gerald Pfeifer d651736e10 libstdc++: Update link to "Worst-case efficient priority queues"
libstdc++-v3/ChangeLog:

	* doc/xml/manual/policy_data_structures_biblio.xml: Update
	link to "Worst-case efficient priority queues".
	* doc/html/manual/policy_data_structures.html: Regenerate.
2023-02-11 09:00:01 +01:00
Arsen Arsenović 9f4baed6ac libstdc++: Document P1642 and extensions
libstdc++-v3/ChangeLog:

	* doc/xml/manual/using.xml: Document newly-freestanding
	headers and the effect of the -ffreestanding flag.
	* doc/xml/manual/status_cxx2023.xml: Document P1642R11 as
	completed.
	* doc/xml/manual/configure.xml: Document that hosted installs
	respect __STDC_HOSTED__.
	* doc/xml/manual/test.xml: Document how to run tests in
	freestanding mode.
	* doc/html/*: Regenerate.
2023-02-06 20:46:52 +00:00
Gerald Pfeifer 08fde093ca libstdc++: Adjust link to pdftex
libstdc++-v3/ChangeLog:

	* doc/xml/manual/documentation_hacking.xml: Adjust link to pdftex.
	* doc/html/manual/documentation_hacking.html: Regenerate.
2023-02-04 17:17:52 +01:00
Gerald Pfeifer 07c87fce63 libstdc++: Tweak link to ABIcheck project
libstdc++-v3/ChangeLog:

	* doc/xml/manual/abi.xml: Tweak link to ABIcheck project.
	* doc/html/manual/abi.html: Regenerate.
2023-02-02 22:55:17 +01:00
Gerald Pfeifer 66d700af5b libstdc++: Switch a www.open-std.org link to https
libstdc++-v3/ChangeLog:

	* doc/xml/manual/using_exceptions.xml: Update a www.open-std.org
	link to https.
	* doc/html/manual/using_exceptions.html: Regenerate.
2023-02-02 01:50:44 +01:00
Gerald Pfeifer d95e72b9c4 libstdc++: Fix link to online GDB manual
libstdc++-v3/ChangeLog:

	* doc/xml/manual/debug.xml: Fix link to online GDB manual.
	* doc/html/manual/debug.html: Regenerate.
2023-02-02 01:30:02 +01:00
Gerald Pfeifer ab21d8d5bd libstdc++: Update links in the Memory section of the manual
libstdc++-v3/ChangeLog:

	* doc/xml/manual/shared_ptr.xml: Move links from both
	http://open-std.org and http://www.open-std.org to
	https://www.open-std.org.
	* doc/html/manual/memory.html: Regenerate.
2023-01-30 23:12:23 +01:00
Gerald Pfeifer 3e8704f98e libstdc++: Update links in the "Contributing" manual
libstdc++-v3/ChangeLog:

	* doc/xml/manual/appendix_contributing.xml: Adjust link to
	ISO C++ standard at ANSI.
	Move link to www.open-std.org to https.
	* doc/html/manual/appendix_contributing.html: Regenerate.
2023-01-28 23:07:01 +01:00
Gerald Pfeifer 191c1e7bc7 libstdc++: Move sourceforge.net links to https
libstdc++-v3/ChangeLog:

	* doc/xml/manual/documentation_hacking.xml: Move sourceforge.net
	links to https.
	* doc/html/manual/documentation_hacking.html: Regenerate.
2023-01-28 11:49:13 +01:00
Gerald Pfeifer 8ca0f49921 libstdc++: Switch www.open-std.org to https (ABI manual)
libstdc++-v3/ChangeLog:

	* doc/xml/manual/abi.xml: Update www.open-std.org link to https.
	* doc/html/manual/abi.html: Regenerate.
2023-01-28 11:12:57 +01:00