r275411 - in /trunk/libstdc++-v3: ChangeLog doc...

redi@gcc.gnu.org redi@gcc.gnu.org
Thu Sep 5 13:48:00 GMT 2019


Author: redi
Date: Thu Sep  5 13:48:33 2019
New Revision: 275411

URL: https://gcc.gnu.org/viewcvs?rev=275411&root=gcc&view=rev
Log:
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.

Added:
    trunk/libstdc++-v3/testsuite/23_containers/span/1.cc
      - copied, changed from r275408, trunk/libstdc++-v3/testsuite/23_containers/span/last_neg.cc
    trunk/libstdc++-v3/testsuite/23_containers/span/2.cc
      - copied, changed from r275408, trunk/libstdc++-v3/testsuite/23_containers/span/last_neg.cc
    trunk/libstdc++-v3/testsuite/23_containers/span/back_assert_neg.cc
      - copied, changed from r275408, trunk/libstdc++-v3/testsuite/23_containers/span/last_neg.cc
    trunk/libstdc++-v3/testsuite/23_containers/span/back_neg.cc
      - copied, changed from r275408, trunk/libstdc++-v3/testsuite/23_containers/span/last_neg.cc
    trunk/libstdc++-v3/testsuite/23_containers/span/first_2_assert_neg.cc
      - copied, changed from r275408, trunk/libstdc++-v3/testsuite/23_containers/span/last_neg.cc
    trunk/libstdc++-v3/testsuite/23_containers/span/first_assert_neg.cc
      - copied, changed from r275408, trunk/libstdc++-v3/testsuite/23_containers/span/last_neg.cc
    trunk/libstdc++-v3/testsuite/23_containers/span/first_neg.cc
      - copied, changed from r275408, trunk/libstdc++-v3/testsuite/23_containers/span/last_neg.cc
    trunk/libstdc++-v3/testsuite/23_containers/span/front_assert_neg.cc
      - copied, changed from r275408, trunk/libstdc++-v3/testsuite/23_containers/span/last_neg.cc
    trunk/libstdc++-v3/testsuite/23_containers/span/front_neg.cc
      - copied, changed from r275408, trunk/libstdc++-v3/testsuite/23_containers/span/last_neg.cc
    trunk/libstdc++-v3/testsuite/23_containers/span/index_op_assert_neg.cc
      - copied, changed from r275408, trunk/libstdc++-v3/testsuite/23_containers/span/last_neg.cc
    trunk/libstdc++-v3/testsuite/23_containers/span/index_op_neg.cc
      - copied, changed from r275408, trunk/libstdc++-v3/testsuite/23_containers/span/last_neg.cc
    trunk/libstdc++-v3/testsuite/23_containers/span/last_2_assert_neg.cc
      - copied, changed from r275408, trunk/libstdc++-v3/testsuite/23_containers/span/last_neg.cc
    trunk/libstdc++-v3/testsuite/23_containers/span/last_assert_neg.cc
      - copied, changed from r275408, trunk/libstdc++-v3/testsuite/23_containers/span/last_neg.cc
    trunk/libstdc++-v3/testsuite/23_containers/span/subspan_2_assert_neg.cc
      - copied, changed from r275408, trunk/libstdc++-v3/testsuite/23_containers/span/last_neg.cc
    trunk/libstdc++-v3/testsuite/23_containers/span/subspan_3_assert_neg.cc
      - copied, changed from r275408, trunk/libstdc++-v3/testsuite/23_containers/span/last_neg.cc
    trunk/libstdc++-v3/testsuite/23_containers/span/subspan_4_assert_neg.cc
      - copied, changed from r275408, trunk/libstdc++-v3/testsuite/23_containers/span/last_neg.cc
    trunk/libstdc++-v3/testsuite/23_containers/span/subspan_5_assert_neg.cc
      - copied, changed from r275408, trunk/libstdc++-v3/testsuite/23_containers/span/last_neg.cc
    trunk/libstdc++-v3/testsuite/23_containers/span/subspan_6_assert_neg.cc
      - copied, changed from r275408, trunk/libstdc++-v3/testsuite/23_containers/span/last_neg.cc
    trunk/libstdc++-v3/testsuite/23_containers/span/subspan_assert_neg.cc
      - copied, changed from r275408, trunk/libstdc++-v3/testsuite/23_containers/span/last_neg.cc
Modified:
    trunk/libstdc++-v3/ChangeLog
    trunk/libstdc++-v3/doc/html/manual/status.html
    trunk/libstdc++-v3/doc/xml/manual/status_cxx2020.xml
    trunk/libstdc++-v3/include/std/span
    trunk/libstdc++-v3/include/std/version
    trunk/libstdc++-v3/testsuite/23_containers/span/last_neg.cc
    trunk/libstdc++-v3/testsuite/23_containers/span/subspan_neg.cc



More information about the Libstdc++-cvs mailing list