gcc/libstdc++-v3
Jonathan Wakely d335d73889 libstdc++: Use conditional noexcept in std::reverse_iterator [PR 94418]
This adds a noexcept-specifier to each constructor and assignment
operator of std::reverse_iterator so that they are noexcept when the
corresponding operation on the underlying iterator is noexcept.

The std::reverse_iterator class template already requires that the
operations on the underlying type are valid, so we don't need to use the
std::is_nothrow_xxx traits to protect against errors when the expression
isn't even valid. We can just use a noexcept operator to test if the
expression can throw, without the overhead of redundantly checking if
the initialization/assignment would be valid.

Signed-off-by: Jonathan Wakely <jwakely@redhat.com>

libstdc++-v3/ChangeLog:

	PR libstdc++/94418
	* include/bits/stl_iterator.h (reverse_iterator): Use
	conditional noexcept on constructors and assignment operators.
	* testsuite/24_iterators/reverse_iterator/noexcept.cc: New test.
2021-10-01 20:34:46 +01:00
..
config
doc libstdc++: Update documentation that only refers to c++98 and c++11 2021-09-16 23:06:38 +01:00
include libstdc++: Use conditional noexcept in std::reverse_iterator [PR 94418] 2021-10-01 20:34:46 +01:00
libsupc++ c++: implement C++17 hardware interference size 2021-09-13 12:28:06 -04:00
po
python
scripts
src libstdc++: Make std::system_category() recognize Windows error codes 2021-09-23 16:07:39 +01:00
testsuite libstdc++: Use conditional noexcept in std::reverse_iterator [PR 94418] 2021-10-01 20:34:46 +01:00
acinclude.m4
aclocal.m4
ChangeLog Daily bump. 2021-10-01 00:16:27 +00:00
ChangeLog-1998
ChangeLog-1999
ChangeLog-2000
ChangeLog-2001
ChangeLog-2002
ChangeLog-2003
ChangeLog-2004
ChangeLog-2005
ChangeLog-2006
ChangeLog-2007
ChangeLog-2008
ChangeLog-2009
ChangeLog-2010
ChangeLog-2011
ChangeLog-2012
ChangeLog-2013
ChangeLog-2014
ChangeLog-2015
ChangeLog-2016
ChangeLog-2017
ChangeLog-2018
ChangeLog-2019
ChangeLog-2020
config.h.in
configure libstdc++: Check for TLS support on mingw cross-compilers 2021-09-15 09:49:33 +01:00
configure.ac
configure.host
crossconfig.m4 libstdc++: Check for TLS support on mingw cross-compilers 2021-09-15 09:49:33 +01:00
fragment.am
linkage.m4
Makefile.am
Makefile.in
README

file: libstdc++-v3/README

New users may wish to point their web browsers to the file
index.html in the 'doc/html' subdirectory.  It contains brief
building instructions and notes on how to configure the library in
interesting ways.