summaryrefslogtreecommitdiff
path: root/libstdc++-v3/testsuite/23_containers/span
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2020-02-18 12:29:29 +0000
committerJonathan Wakely <jwakely@redhat.com>2020-02-18 17:41:57 +0000
commitf5b4dc38852f755de9c48cb78a773ab4e84b8078 (patch)
tree4a6eee1406af310422fbdb41557d107b74a5507e /libstdc++-v3/testsuite/23_containers/span
parentaa667c3f36d6a78e1b38e7a9a26899fd385bfcb7 (diff)
downloadgcc-f5b4dc38852f755de9c48cb78a773ab4e84b8078.tar.gz
libstdc++: P2116R0 Remove tuple-like protocol support from fixed-extent span
Following this change it's no longer possible to use std::span with structured bindings or with the tuple-like API. It will probably come back for C++23 though. P2116R0 Remove tuple-like protocol support from fixed-extent span * include/std/span (get, tuple_size, tuple_element): Remove. * testsuite/23_containers/span/everything.cc: Remove checks for tuple-like API. * testsuite/23_containers/span/get_neg.cc: Remove. * testsuite/23_containers/span/tuple_element_dynamic_neg.cc: Remove. * testsuite/23_containers/span/tuple_element_oob_neg.cc: Remove. * testsuite/23_containers/span/tuple_size_neg.cc: Remove.
Diffstat (limited to 'libstdc++-v3/testsuite/23_containers/span')
-rw-r--r--libstdc++-v3/testsuite/23_containers/span/everything.cc4
-rw-r--r--libstdc++-v3/testsuite/23_containers/span/get_neg.cc30
-rw-r--r--libstdc++-v3/testsuite/23_containers/span/tuple_element_dynamic_neg.cc25
-rw-r--r--libstdc++-v3/testsuite/23_containers/span/tuple_element_oob_neg.cc25
-rw-r--r--libstdc++-v3/testsuite/23_containers/span/tuple_size_neg.cc25
5 files changed, 0 insertions, 109 deletions
diff --git a/libstdc++-v3/testsuite/23_containers/span/everything.cc b/libstdc++-v3/testsuite/23_containers/span/everything.cc
index c2f00683ff8..0cca06fa4fe 100644
--- a/libstdc++-v3/testsuite/23_containers/span/everything.cc
+++ b/libstdc++-v3/testsuite/23_containers/span/everything.cc
@@ -104,8 +104,6 @@ main()
static_assert(data_span_first.size() == 3);
static_assert(data_span_first.front() == 0);
static_assert(data_span_first.back() == 2);
- static_assert(std::tuple_size_v<decltype(data_span_first)> == 3);
- static_assert(std::is_same_v<std::tuple_element_t<0, decltype(data_span_first)>, const int>);
constexpr auto data_span_first_dyn = data_span.first(4);
static_assert(
@@ -122,8 +120,6 @@ main()
static_assert(data_span_last.size() == 5);
static_assert(data_span_last.front() == 4);
static_assert(data_span_last.back() == 8);
- static_assert(std::tuple_size_v<decltype(data_span_last)> == 5);
- static_assert(std::is_same_v<std::tuple_element_t<0, decltype(data_span_last)>, const int>);
constexpr auto data_span_last_dyn = data_span.last(6);
static_assert(
diff --git a/libstdc++-v3/testsuite/23_containers/span/get_neg.cc b/libstdc++-v3/testsuite/23_containers/span/get_neg.cc
deleted file mode 100644
index 65ff412e252..00000000000
--- a/libstdc++-v3/testsuite/23_containers/span/get_neg.cc
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright (C) 2019-2020 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3. If not see
-// <http://www.gnu.org/licenses/>.
-
-// { dg-options "-std=c++2a" }
-// { dg-do compile { target c++2a } }
-
-#include <span>
-#include <tuple>
-
-int
-main()
-{
- std::span<int, std::dynamic_extent> myspan((int*)nullptr, (std::size_t)0);
- std::get<0>(myspan); // { dg-error "here" }
-}
-// { dg-error "static assertion failed" "" { target *-*-* } 0 }
diff --git a/libstdc++-v3/testsuite/23_containers/span/tuple_element_dynamic_neg.cc b/libstdc++-v3/testsuite/23_containers/span/tuple_element_dynamic_neg.cc
deleted file mode 100644
index b96d88839f6..00000000000
--- a/libstdc++-v3/testsuite/23_containers/span/tuple_element_dynamic_neg.cc
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copyright (C) 2019-2020 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3. If not see
-// <http://www.gnu.org/licenses/>.
-
-// { dg-options "-std=c++2a" }
-// { dg-do compile { target c++2a } }
-
-#include <span>
-#include <tuple>
-
-std::tuple_element<0, std::span<int, std::dynamic_extent>> ts; // { dg-error "here" }
-// { dg-error "static assertion failed" "" { target *-*-* } 0 }
diff --git a/libstdc++-v3/testsuite/23_containers/span/tuple_element_oob_neg.cc b/libstdc++-v3/testsuite/23_containers/span/tuple_element_oob_neg.cc
deleted file mode 100644
index e9627abff33..00000000000
--- a/libstdc++-v3/testsuite/23_containers/span/tuple_element_oob_neg.cc
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copyright (C) 2019-2020 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3. If not see
-// <http://www.gnu.org/licenses/>.
-
-// { dg-options "-std=c++2a" }
-// { dg-do compile { target c++2a } }
-
-#include <span>
-#include <tuple>
-
-std::tuple_element<3, std::span<int, 2>> te; // { dg-error "here" }
-// { dg-error "static assertion failed" "" { target *-*-* } 0 }
diff --git a/libstdc++-v3/testsuite/23_containers/span/tuple_size_neg.cc b/libstdc++-v3/testsuite/23_containers/span/tuple_size_neg.cc
deleted file mode 100644
index 16294738dda..00000000000
--- a/libstdc++-v3/testsuite/23_containers/span/tuple_size_neg.cc
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copyright (C) 2019-2020 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3. If not see
-// <http://www.gnu.org/licenses/>.
-
-// { dg-options "-std=c++2a" }
-// { dg-do compile { target c++2a } }
-
-#include <span>
-#include <tuple>
-
-std::tuple_size<std::span<int, std::dynamic_extent>> ts; // { dg-error "here" }
-// { dg-error "static assertion failed" "" { target *-*-* } 0 }