Commit Graph

828 Commits

Author SHA1 Message Date
Jonathan Wakely
9bac1d7839 libstdc++: Fix spelling mistake in new doc addition
libstdc++-v3/ChangeLog:

	* doc/xml/manual/evolution.xml: Fix spelling.
	* doc/html/manual/api.html: Regenerate.
2024-01-11 21:24:37 +00:00
Jonathan Wakely
a3babd7db7 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.
2024-01-11 20:17:58 +00:00
Jakub Jelinek
a945c346f5 Update copyright years. 2024-01-03 12:19:35 +01:00
Jonathan Wakely
623b8081ab libstdc++: Remove outdated references to buildstat.html
The buildstat.html pages have not existed since gcc-8 so remove
referencs to them in the libstdc++ manual.

libstdc++-v3/ChangeLog:

	* doc/html/*: Regenerate.
	* doc/xml/faq.xml: Remove reference to buildstat.html pages.
	* doc/xml/manual/test.xml: Likewise
2023-11-21 15:58:20 +00:00
Jonathan Wakely
6933c05ade libstdc++: Replace "_N" in examples of naming conventions
The name "_N" is listed as a reserved name on Solaris, so we shouldn't
use it as an example of our naming conventions.

libstdc++-v3/ChangeLog:

	* doc/xml/manual/appendix_contributing.xml: Replace example that
	uses a BADNAME.
	* doc/html/manual/source_code_style.html: Regenerate.
2023-11-04 08:31:45 +00:00
Jonathan Wakely
00d16a269a libstdc++: Minor tweak to C++20 status docs
The row for P1466R3 was missing the info on when it was implemented.

libstdc++-v3/ChangeLog:

	* doc/xml/manual/status_cxx2020.xml: Tweak P1466R3 status.
	* doc/html/manual/status.html: Regenerate.
2023-09-18 15:21:22 +01:00
Jonathan Wakely
c8e9a75085 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.
2023-09-18 14:09:53 +01:00
Jonathan Wakely
12755fe40b libstdc++: Minor update to installation docs
libstdc++-v3/ChangeLog:

	* doc/xml/manual/intro.xml: Clarify that building libstdc++
	separately from GCC is not supported.
	* doc/xml/manual/prerequisites.xml: Note msgfmt prerequisite for
	testing.
	* doc/html/manual/setup.html: Regenerate.
2023-09-18 12:15:34 +01:00
Jonathan Wakely
3a0e01f6bb libstdc++: Add support for running tests with multiple -std options
This copies the code from the compiler's gcc/testsuite/lib/g++-dg.exp so
that each test can be run multiple times, with different -std options.
This means that we can remove most { dg-options "-std=gnu++20" }
directives from tests, because the testsuite will automatically select
a set of -std options that includes that version.

Tests that should only run for a specific standard (e.g. ones that use
something like { dg-do run { target c++11_only } }) should still specify
that standard with { dg-options "-std=gnu++11" }, which overrides the
automatic selection. But a dg-options that selects a newer standard than
the default can be removed, because that standard will be selected
automatically based on a selector like { target c++20 } in the dg-do
directive. This will allow those tests to be run for more than just the
one they currently hardcode, so that e.g. std::format tests can be run
for all of C++20, C++23 and C++26. Currently that has to be done by
adding a second test file that uses a different dg-options line.

By default most tests will continue to run with only the default dialect
(currently -std=gnu++17) so that the time to run the entire testsuite is
not increased. We can revisit this later if increasing the testsuite
time (and coverage) is acceptable. Libstdc++ developers can easily
override the defaults to run for multiple versions. To test all
versions, either add 'set v3_std_list { 98 11 14 17 20 23 26 }' to
~/.dejagnurc or define GLIBCXX_TESTSUITE_STDS="98,11,14,17,20,23,26" in
the environment.

This should be more efficient than the current way to test with multple
standards, i.e. --target_board=unix{-std=c++14,-std=c++17,-std=c++20},
because today all tests with an explicit -std option hardcoded in them
get run for each target board variation but using the exact same
hardcoded -std every time. With the new approach you can just use the
default --target_board=unix and set GLIBCXX_TESTSUITE_STDS="14,17,20"
and now a test that has { target c++20 } will only run once (and be
UNSUPPORTED twice), instead of running with identical options three
times.

In order to support ~/.dejagnurc and $DEJAGNU files that need to work
with versions of GCC without this change, a new variable is added to
site.tmp to detect whether v3_std_list is supported. That allows e.g.

if { [info exists v3-use-std-list] } {
  set v3_std_list { 11 17 23 }
  set target_list { "unix{,-m32}" }
} else {
  set target_list { "unix{,-std=gnu++2b,-std=gnu++11,-m32}" }
}

libstdc++-v3/ChangeLog:

	* doc/xml/manual/test.xml: Update documentation on running and
	writing tests.
	* doc/html/manual/test.html: Regenerate.
	* testsuite/Makefile.am: Add v3-use-std-list to site.tmp
	* testsuite/Makefile.in: Regenerate.
	* testsuite/lib/dg-options.exp (add_options_for_strict_std): New
	proc.
	* testsuite/lib/libstdc++.exp (search_for): New utility proc.
	(v3-dg-runtest): New proc to replace dg-runtest.
	* testsuite/libstdc++-dg/conformance.exp: Use v3-dg-runtest.
2023-09-15 21:57:38 +01:00
Jonathan Wakely
b96b554592 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.

The libstdc++_libbacktrace.a archive is now just a "noinst" convenience
library that is only used during the build, not installed. Its contents
are added to libstdc++exp.a, along with the new non-inline definitions
of std::stacktrace symbols.

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:

	* acinclude.m4 (GLIBCXX_CONFIGURE): Add c++23 directory.
	* configure: Regenerate.
	* doc/html/manual/*: Regenerate.
	* doc/xml/manual/using.xml: Update documentation on linking.
	* include/std/stacktrace: Remove declarations of libbacktrace
	APIs.
	(stacktrace_entry::_S_err_handler, stacktrace_entry::_S_init):
	Remove.
	(stacktrace_entry::_Info): New class.
	(stacktrace_entry::_M_get_info): Use _Info.
	(__stacktrace_impl): New class.
	(basic_stacktrace): Derive from __stacktrace_impl.
	(basic_stacktrace::current): Use __stacktrace_impl::_S_current.
	* scripts/testsuite_flags.in: Adjust LDFLAGS to find
	libstdc++exp instead of libstdc++_libbacktrace.
	* src/Makefile.am (SUBDIRS): Add c++23 directory.
	* src/Makefile.in: Regenerate.
	* src/c++20/Makefile.am: Fix comment.
	* src/c++20/Makefile.in: Regenerate.
	* src/c++23/Makefile.am: New file.
	* src/c++23/Makefile.in: New file.
	* src/c++23/stacktrace.cc: New file with definitions of
	stacktrace_entry::_Info and __stacktrace_impl members.
	* src/experimental/Makefile.am: Use LIBADD to include other
	libraries.
	* src/experimental/Makefile.in: Regenerate.
	* src/libbacktrace/Makefile.am: Use noinst_LTLIBRARIES.
	* src/libbacktrace/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.
2023-09-08 18:04:12 +01:00
Bruno Victal
09c2815dc1 libstdc++: Fix 'doc-install-info' rule
The info manual isn't moved to the expected location after
generation which causes the install rule for it to fail.

libstdc++-v3/Changelog:

	* doc/Makefile.am: Fix 'doc-install-info' rule.
	Fix typo in commment.
	* doc/Makefile.in: Regenerate.
2023-09-07 17:50:46 +01:00
Jonathan Wakely
b90a70984a libstdc++: Document --enable-cstdio=stdio_pure [PR110574]
libstdc++-v3/ChangeLog:

	PR libstdc++/110574
	* doc/xml/manual/configure.xml: Describe stdio_pure argument to
	--enable-cstdio.
	* doc/html/manual/configure.html: Regenerate.
2023-07-06 16:27:56 +01:00
Jonny Grant
29aef9ff23 libstdc++: Clarify manual demangle doc
libstdc++-v3/ChangeLog:

	* doc/xml/manual/extensions.xml: Remove demangle exception
	description and include.
	* doc/html/manual/ext_demangling.html: Regenerate.
2023-06-14 15:01:06 +01:00
Jonathan Wakely
9a3558cf1f libstdc++: Bump library version to libstdc++.so.6.0.33
The addition of __cxa_call_terminate@@CXXABI_1.3.15 on trunk means we
need a new version.

libstdc++-v3/ChangeLog:

	* acinclude.m4 (libtool_VERSION): Update to 6.0.33.
	* configure: Regenerate.
	* doc/xml/manual/abi.xml: Add libstdc++.so.6.0.33.
	* doc/html/manual/abi.html: Regenerate.
2023-06-09 13:08:26 +01:00
Jonathan Wakely
8cbaf679a3 libstdc++: Document removal of implicit allocator rebinding extensions
Traditionally libstdc++ allowed containers and strings 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.
2023-06-01 16:04:26 +01:00
Jonathan Wakely
979f8bfd31 libstdc++: Deprecate std::setfill for std::basic_istream [PR109922]
Prior to N0966 (July 1996) the std::setfill manipulator was specified to
work with both input and output streams. In the final C++98 standard it
is only specified to work with output streams.

We have always supported it for input streams, despite that never being
in the standard, and having no meaning for any input streams defined by
the standard. This commit adds a deprecated attribute to the overload
for input streams, so that we can stop supporting this some day.

libstdc++-v3/ChangeLog:

	PR libstdc++/109922
	* include/std/iomanip (operator>>(basic_istream&, _Setfill)):
	Add deprecated attribute to non-standard overload.
	* doc/xml/manual/evolution.xml: Document deprecation.
	* doc/html/*: Regenerate.
	* testsuite/27_io/manipulators/standard/char/1.cc: Add
	dg-warning for expected deprecated warning.
	* testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
	* testsuite/27_io/manipulators/standard/wchar_t/1.cc: Likewise.
	* testsuite/27_io/manipulators/standard/wchar_t/2.cc: Likewise.
2023-05-31 13:17:44 +01:00
Gerald Pfeifer
e82025df62 libstdc++: Move lafstern.org reference to https
libstdc++-v3/ChangeLog:

	* doc/xml/manual/strings.xml: Move lafstern.org reference to https.
	* doc/html/manual/strings.html: Regenerate.
2023-05-19 10:13:55 +02:00
Jonathan Wakely
5baabdb15d libstdc++: Stop using _GLIBCXX_USE_C99_STDINT_TR1 in <cstdint>
The _GLIBCXX_USE_C99_STDINT_TR1 macro (and the comments about it in
acinclude.m4 and config.h) are misleading when it is also used for
<stdint>, not only <tr1/stdint>. It is also wrong, because the
configure checks for TR1 use -std=c++98 and a target might define
uint32_t etc. for C++11 but not for C++98.

Add a separate configure check for the <stdint.h> types using -std=c++11
for the checks. Use the result of that separate check in <cstdint> and
most other places that still depend on the macro (many uses of that
macro have been removed already). The remaining uses of the STDINT_TR1
macro are really for TR1, or are in the src/c++11/compatibility-*.cc
files, where we don't want/need to change the condition they depend on
(if those symbols were only exported when <stdint.h> types were
available for -std=c++98, then that's the condition we should continue
to use for whether to export the compat symbols now).

Make similar changes for the related _GLIBCXX_USE_C99_INTTYPES_TR1 and
_GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 macros, adding new macros for
non-TR1 uses.

libstdc++-v3/ChangeLog:

	* acinclude.m4 (GLIBCXX_USE_C99): Check for <stdint.h> types in
	C++11 mode and define _GLIBCXX_USE_C99_STDINT. Check for
	<inttypes.h> features in C++11 mode and define
	_GLIBCXX_USE_C99_INTTYPES and _GLIBCXX_USE_C99_INTTYPES_WCHAR_T.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* doc/doxygen/user.cfg.in (PREDEFINED): Add new macros.
	* include/bits/chrono.h: Check _GLIBCXX_USE_C99_STDINT instead
	of _GLIBCXX_USE_C99_STDINT_TR1.
	* include/c_compatibility/inttypes.h: Check
	_GLIBCXX_USE_C99_INTTYPES and _GLIBCXX_USE_C99_INTTYPES_WCHAR_T
	instead of _GLIBCXX_USE_C99_INTTYPES_TR1 and
	_GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1.
	* include/c_compatibility/stdatomic.h: Check
	_GLIBCXX_USE_C99_STDINT instead of _GLIBCXX_USE_C99_STDINT_TR1.
	* include/c_compatibility/stdint.h: Likewise.
	* include/c_global/cinttypes: Check _GLIBCXX_USE_C99_INTTYPES
	and _GLIBCXX_USE_C99_INTTYPES_WCHAR_T instead of
	_GLIBCXX_USE_C99_INTTYPES_TR1 and
	_GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1.
	* include/c_global/cstdint: Check _GLIBCXX_USE_C99_STDINT
	instead of _GLIBCXX_USE_C99_STDINT_TR1.
	* include/std/atomic: Likewise.
	* src/c++11/cow-stdexcept.cc: Likewise.
	* testsuite/29_atomics/headers/stdatomic.h/c_compat.cc:
	Likewise.
	* testsuite/lib/libstdc++.exp (check_v3_target_cstdint):
	Likewise.
2023-05-16 09:59:19 +01:00
Jonathan Wakely
0d76fb1582 libstdc++: Stop using _GLIBCXX_USE_C99_COMPLEX_TR1 in <complex>
The _GLIBCXX_USE_C99_COMPLEX_TR1 macro (and the comments about it in
acinclude.m4 and config.h) are misleading when it is also used for
<complex>, not only <tr1/complex>. It is also wrong, because the
configure checks for TR1 use -std=c++98 and a target might define cacos
etc. for C++11 but not for C++98.

Add a separate configure check for the inverse trigonometric functions
that are covered by _GLIBCXX_USE_C99_COMPLEX_TR1, but using -std=c++11
for the checks. Use the result of that separate check in <complex>.

libstdc++-v3/ChangeLog:

	* acinclude.m4 (GLIBCXX_USE_C99): Check for complex inverse trig
	functions in C++11 mode and define _GLIBCXX_USE_C99_COMPLEX_ARC.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* doc/doxygen/user.cfg.in (PREDEFINED): Add new macro.
	* include/std/complex: Check _GLIBCXX_USE_C99_COMPLEX_ARC
	instead of _GLIBCXX_USE_C99_COMPLEX_TR1.
2023-05-16 09:59:19 +01:00
Jonathan Wakely
2eadfb5c7e 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.
2023-05-04 12:38:10 +01:00
Florian Weimer
9cb3f25460 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.
2023-05-04 12:38:10 +01:00
Jonathan Wakely
975e8e836e libstdc++: Strip absolute paths from files shown in Doxygen docs
This avoids showing absolute paths from the expansion of
@srcdir@/libsupc++/ in the doxygen File List view.

libstdc++-v3/ChangeLog:

	* doc/doxygen/user.cfg.in (STRIP_FROM_PATH): Remove prefixes
	from header paths.
2023-04-28 13:05:50 +01:00
Jonathan Wakely
efa1276480 libstdc++: Remove obsolete options from Doxygen config
libstdc++-v3/ChangeLog:

	* doc/doxygen/user.cfg.in (FORMULA_TRANSPARENT, DOT_FONTNAME)
	(DOT_FONTSIZE, DOT_TRANSPARENT): Remove obsolete options.
2023-04-27 11:28:39 +01:00
Jonathan Wakely
afa69618d1 libstdc++: Reduce Doxygen output for PDF
Including the header source code in the doxygen-generated PDF file makes
it too large, and causes pdflatex to run out of memory. If we only set
SOURCE_BROWSER=YES for the HTML docs then we won't include the sources
in the PDF file.

There are several macros defined for std::valarray that are only used to
generate repetitive code and then #undef'd. Those aren't useful in the
doxygen docs, especially the ones that reuse the same name in different
files. Omitting them avoids warnings about duplicate labels in the
refman.tex file.

libstdc++-v3/ChangeLog:

	* doc/doxygen/user.cfg.in (SOURCE_BROWSER): Only set to YES for
	HTML docs.
	* include/bits/gslice_array.h (_DEFINE_VALARRAY_OPERATOR): Omit
	from doxygen docs.
	* include/bits/indirect_array.h (_DEFINE_VALARRAY_OPERATOR):
	Likewise.
	* include/bits/mask_array.h (_DEFINE_VALARRAY_OPERATOR):
	Likewise.
	* include/bits/slice_array.h (_DEFINE_VALARRAY_OPERATOR):
	Likewise.
	* include/std/valarray (_DEFINE_VALARRAY_UNARY_OPERATOR)
	(_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT)
	(_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT)
	(_DEFINE_BINARY_OPERATOR): Likewise.
2023-04-27 11:28:39 +01:00
Jonathan Wakely
b153f4e4ca libstdc++: Adjust uses of null pointer constants in docs
libstdc++-v3/ChangeLog:

	* doc/xml/manual/extensions.xml: Fix example to declare and
	qualify std::free, and use NULL instead of 0.
	* doc/html/manual/ext_demangling.html: Regenerate.
	* libsupc++/cxxabi.h: Adjust doxygen comments.
2023-04-19 00:13:02 +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
Jonathan Wakely
6ba33b1889 libstdc++: Refer to documentation hacking docs from Makefile
libstdc++-v3/ChangeLog:

	* doc/Makefile.am: Add comment referring to documentation.
	* doc/Makefile.in: Regenerate.
2023-03-13 10:39:38 +00:00
Jonathan Wakely
97d4aaf19e libstdc++: Regenerate HTML docs
libstdc++-v3/ChangeLog:

	* doc/html/*: Regenerate.
2023-03-13 10:39:38 +00: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
Nathaniel Shead
aa02a69e15 libstdc++: Implement P1413R3 'deprecate aligned_storage and aligned_union'
Adds deprecated attributes for C++23, and makes use of it for
std::aligned_storage, std::aligned_storage_t, std::aligned_union, and
std::aligned_union_t.

libstdc++-v3/ChangeLog:

	* doc/doxygen/user.cfg.in (PREDEFINED): Add new macros.
	* include/bits/c++config (_GLIBCXX23_DEPRECATED)
	(_GLIBCXX23_DEPRECATED_SUGGEST): New macros.
	* include/std/type_traits (aligned_storage, aligned_union)
	(aligned_storage_t, aligned_union_t): Deprecate for C++23.
	* testsuite/20_util/aligned_storage/deprecated-2b.cc: New test.
	* testsuite/20_util/aligned_union/deprecated-2b.cc: New test.

Signed-off-by: Nathaniel Shead <nathanieloshead@gmail.com>
Reviewed-by: Jonathan Wakely <jwakely@redhat.com>
2023-02-06 14:23:47 +00:00
Nathaniel Shead
4f49ae607c libstdc++: Normalise _GLIBCXX20_DEPRECATED macro
Updates _GLIBCXX20_DEPRECATED to be defined and behave the same as the
versions for other standards (e.g. _GLIBCXX17_DEPRECATED).

libstdc++-v3/ChangeLog:

	* doc/doxygen/user.cfg.in (PREDEFINED): Update macros.
	* include/bits/c++config (_GLIBCXX20_DEPRECATED): Make
	consistent with other 'deprecated' macros.
	* include/std/type_traits (is_pod, is_pod_v): Use
	_GLIBCXX20_DEPRECATED_SUGGEST instead.

Signed-off-by: Nathaniel Shead <nathanieloshead@gmail.com>
Reviewed-by: Jonathan Wakely <jwakely@redhat.com>
2023-02-06 14:23:46 +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
Gerald Pfeifer
e75b2c67e5 libstdc++: Move www.open-std.org to https in bugs manual
libstdc++-v3/ChangeLog:

	* doc/xml/manual/intro.xml: Update links to www.open-std.org to
	use https.
	* doc/html/manual/bugs.html: Regenerate.
2023-01-26 14:10:47 +01:00
Gerald Pfeifer
af7881e076 libstdc++: Minor updates to Policy Based Data Structures: Biblio
libstdc++-v3/ChangeLog:

2023-01-18  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/xml/manual/policy_data_structures_biblio.xml: Adjust links
	to www.open-std.org to use https.
	(COM: Component Model Object Technologies): Rename from...
	(The Component Object Model): ...to.
	* doc/html/manual/policy_data_structures.html: Regenerate.
2023-01-18 19:59:26 +01:00