gcc/libstdc++-v3/testsuite
Patrick Palka 37edf28c24 libstdc++: Remove overzealous static_asserts from std::span
For a span with statically empty extent, we currently model the
preconditions of front(), back(), and operator[] as if they are
mandates, by using a static_assert to verify that extent != 0.  This
causes us to reject valid programs that would instantiate these member
functions and at runtime never call them.

Since they are already followed by more general runtime asserts, this
patch just removes these static_asserts altogether,

libstdc++-v3/ChangeLog:

	* include/std/span (span::front): Remove static_assert.
	(span::back): Likewise.
	(span::operator[]): Likewise.
	* testsuite/23_containers/span/back_neg.cc: Rewrite to verify
	that we check the preconditions of back() only when it's called.
	* testsuite/23_containers/span/front_neg.cc: Likewise for
	front().
	* testsuite/23_containers/span/index_op_neg.cc: Likewise for
	operator[].
2020-09-21 23:21:34 -04:00
..
17_intro libstdc++: Do not check "cold" name on darwin [PR 96736] 2020-08-21 18:24:40 +01:00
18_support libstdc++: Break header cycle between <new> and <exception> 2020-09-02 13:56:32 +01:00
19_diagnostics libstdc++: Ensure c++NN effective target present in all C++17 tests 2020-07-31 19:58:02 +01:00
20_util libstdc++: Make std::assume_aligned a constexpr function [PR 97132] 2020-09-21 14:28:58 +01:00
21_strings libstdc++: Remove tests for self-move debug assertions 2020-08-25 16:36:01 +01:00
22_locale
23_containers libstdc++: Remove overzealous static_asserts from std::span 2020-09-21 23:21:34 -04:00
24_iterators libstdc++: Fix std::indirectly_readable ambiguity [LWG 3446] 2020-08-24 16:18:31 +01:00
25_algorithms libstdc++: Fix division by zero in std::sample 2020-09-21 20:48:23 -04:00
26_numerics libstdc++: Optimise GCD algorithms 2020-09-03 12:46:13 +01:00
27_io libstdc++: Add deprecated attributes to old iostream members 2020-08-19 12:13:23 +01:00
28_regex libstdc++: Ensure c++NN effective-target present in more tests 2020-07-31 19:58:03 +01:00
29_atomics libstdc++: Ensure c++NN effective target present in all C++17 tests 2020-07-31 19:58:02 +01:00
30_threads libstdc++: Avoid rounding errors on custom clocks in condition_variable 2020-09-11 14:28:50 +01:00
abi
backward
config
data
decimal
experimental libstdc++: Optimise GCD algorithms 2020-09-03 12:46:13 +01:00
ext libstdc++: Avoid errors in allocator's noexcept-specifier (PR 89510) 2020-04-30 16:01:43 +01:00
lib diagnostics: Add new option -fdiagnostics-plain-output 2020-08-14 09:29:19 -04:00
libstdc++-abi
libstdc++-dg
libstdc++-prettyprinters libstdc++: Remove inheritance from elements in std::tuple 2020-08-17 15:27:51 +01:00
libstdc++-xmethods
performance
special_functions
std libstdc++: Fix constraints for drop_view::begin() const [LWG 3482] 2020-09-21 23:43:25 +01:00
tr1 libstdc++: Ensure c++NN effective-target present in more tests 2020-07-31 19:58:03 +01:00
tr2
util libstdc++: Make testsuite usable with -fno-exceptions 2020-07-30 12:50:02 +01:00
Makefile.am libstdc++: Enable simple invocation of runtest in testsuite 2020-05-21 14:16:19 +01:00
Makefile.in libstdc++: Regenerate makefiles 2020-06-23 07:59:40 +01:00