[libcxx-commits] [libcxx] c93a531 - [libcxx][test] tests for strengthened `noexcept` are non-portable
Casey Carter via libcxx-commits
libcxx-commits at lists.llvm.org
Tue Feb 8 14:54:28 PST 2022
Author: Casey Carter
Date: 2022-02-08T14:54:13-08:00
New Revision: c93a531caeaeda9e2dd782210d63ca9f25d661c5
URL: https://github.com/llvm/llvm-project/commit/c93a531caeaeda9e2dd782210d63ca9f25d661c5
DIFF: https://github.com/llvm/llvm-project/commit/c93a531caeaeda9e2dd782210d63ca9f25d661c5.diff
LOG: [libcxx][test] tests for strengthened `noexcept` are non-portable
Differential Revision: https://reviews.llvm.org/D117966
Added:
Modified:
libcxx/test/std/ranges/range.adaptors/range.drop/ctor.default.pass.cpp
libcxx/test/std/ranges/range.adaptors/range.transform/iterator/deref.pass.cpp
libcxx/test/std/ranges/range.adaptors/range.transform/iterator/iter_move.pass.cpp
libcxx/test/std/ranges/range.adaptors/range.transform/iterator/subscript.pass.cpp
libcxx/test/std/ranges/range.utility/view.interface/view.interface.pass.cpp
Removed:
################################################################################
diff --git a/libcxx/test/std/ranges/range.adaptors/range.drop/ctor.default.pass.cpp b/libcxx/test/std/ranges/range.adaptors/range.drop/ctor.default.pass.cpp
index 379c38862b7fa..d8f257ffcfc9e 100644
--- a/libcxx/test/std/ranges/range.adaptors/range.drop/ctor.default.pass.cpp
+++ b/libcxx/test/std/ranges/range.adaptors/range.drop/ctor.default.pass.cpp
@@ -24,7 +24,7 @@ constexpr bool test() {
static_assert( std::is_default_constructible_v<std::ranges::drop_view<ForwardView>>);
static_assert(!std::is_default_constructible_v<std::ranges::drop_view<NoDefaultCtorForwardView>>);
- static_assert( std::is_nothrow_default_constructible_v<std::ranges::drop_view<ForwardView>>);
+ LIBCPP_STATIC_ASSERT( std::is_nothrow_default_constructible_v<std::ranges::drop_view<ForwardView>>);
static_assert(!std::is_nothrow_default_constructible_v<ThrowingDefaultCtorForwardView>);
static_assert(!std::is_nothrow_default_constructible_v<std::ranges::drop_view<ThrowingDefaultCtorForwardView>>);
diff --git a/libcxx/test/std/ranges/range.adaptors/range.transform/iterator/deref.pass.cpp b/libcxx/test/std/ranges/range.adaptors/range.transform/iterator/deref.pass.cpp
index 93b28e9da0873..8f40424d35528 100644
--- a/libcxx/test/std/ranges/range.adaptors/range.transform/iterator/deref.pass.cpp
+++ b/libcxx/test/std/ranges/range.adaptors/range.transform/iterator/deref.pass.cpp
@@ -23,7 +23,7 @@ int main(int, char**) {
using View = std::ranges::transform_view<MoveOnlyView, PlusOne>;
View transformView(MoveOnlyView{buff}, PlusOne{});
assert(*transformView.begin() == 1);
- static_assert(!noexcept(*std::declval<std::ranges::iterator_t<View>>()));
+ ASSERT_NOT_NOEXCEPT(*std::declval<std::ranges::iterator_t<View>>());
ASSERT_SAME_TYPE(int, decltype(*std::declval<View>().begin()));
}
{
@@ -31,7 +31,7 @@ int main(int, char**) {
using View = std::ranges::transform_view<MoveOnlyView, PlusOneMutable>;
View transformView(MoveOnlyView{buff}, PlusOneMutable{});
assert(*transformView.begin() == 1);
- static_assert(!noexcept(*std::declval<std::ranges::iterator_t<View>>()));
+ ASSERT_NOT_NOEXCEPT(*std::declval<std::ranges::iterator_t<View>>());
ASSERT_SAME_TYPE(int, decltype(*std::declval<View>().begin()));
}
{
@@ -39,7 +39,7 @@ int main(int, char**) {
using View = std::ranges::transform_view<MoveOnlyView, PlusOneNoexcept>;
View transformView(MoveOnlyView{buff}, PlusOneNoexcept{});
assert(*transformView.begin() == 1);
- static_assert(noexcept(*std::declval<std::ranges::iterator_t<View>>()));
+ LIBCPP_ASSERT_NOEXCEPT(*std::declval<std::ranges::iterator_t<View>>());
ASSERT_SAME_TYPE(int, decltype(*std::declval<View>().begin()));
}
{
@@ -47,7 +47,7 @@ int main(int, char**) {
using View = std::ranges::transform_view<MoveOnlyView, Increment>;
View transformView(MoveOnlyView{buff}, Increment{});
assert(*transformView.begin() == 1);
- static_assert(!noexcept(*std::declval<std::ranges::iterator_t<View>>()));
+ ASSERT_NOT_NOEXCEPT(*std::declval<std::ranges::iterator_t<View>>());
ASSERT_SAME_TYPE(int&, decltype(*std::declval<View>().begin()));
}
{
@@ -55,7 +55,7 @@ int main(int, char**) {
using View = std::ranges::transform_view<MoveOnlyView, IncrementRvalueRef>;
View transformView(MoveOnlyView{buff}, IncrementRvalueRef{});
assert(*transformView.begin() == 1);
- static_assert(!noexcept(*std::declval<std::ranges::iterator_t<View>>()));
+ ASSERT_NOT_NOEXCEPT(*std::declval<std::ranges::iterator_t<View>>());
ASSERT_SAME_TYPE(int&&, decltype(*std::declval<View>().begin()));
}
diff --git a/libcxx/test/std/ranges/range.adaptors/range.transform/iterator/iter_move.pass.cpp b/libcxx/test/std/ranges/range.adaptors/range.transform/iterator/iter_move.pass.cpp
index d492df53e80e7..86a620a8d0c48 100644
--- a/libcxx/test/std/ranges/range.adaptors/range.transform/iterator/iter_move.pass.cpp
+++ b/libcxx/test/std/ranges/range.adaptors/range.transform/iterator/iter_move.pass.cpp
@@ -24,7 +24,7 @@ constexpr bool test() {
{
std::ranges::transform_view transformView(MoveOnlyView{buff}, PlusOneMutable{});
auto iter = transformView.begin();
- static_assert(!noexcept(std::ranges::iter_move(iter)));
+ ASSERT_NOT_NOEXCEPT(std::ranges::iter_move(iter));
assert(std::ranges::iter_move(iter) == 1);
assert(std::ranges::iter_move(iter + 2) == 3);
@@ -34,10 +34,10 @@ constexpr bool test() {
}
{
- static_assert( noexcept(std::ranges::iter_move(
- std::declval<std::ranges::iterator_t<std::ranges::transform_view<MoveOnlyView, PlusOneNoexcept>>&>())));
- static_assert(!noexcept(std::ranges::iter_move(
- std::declval<std::ranges::iterator_t<std::ranges::transform_view<MoveOnlyView, PlusOneMutable>>&>())));
+ LIBCPP_ASSERT_NOEXCEPT(std::ranges::iter_move(
+ std::declval<std::ranges::iterator_t<std::ranges::transform_view<MoveOnlyView, PlusOneNoexcept>>&>()));
+ ASSERT_NOT_NOEXCEPT(std::ranges::iter_move(
+ std::declval<std::ranges::iterator_t<std::ranges::transform_view<MoveOnlyView, PlusOneMutable>>&>()));
}
return true;
diff --git a/libcxx/test/std/ranges/range.adaptors/range.transform/iterator/subscript.pass.cpp b/libcxx/test/std/ranges/range.adaptors/range.transform/iterator/subscript.pass.cpp
index 56c223de0caad..337b054a43434 100644
--- a/libcxx/test/std/ranges/range.adaptors/range.transform/iterator/subscript.pass.cpp
+++ b/libcxx/test/std/ranges/range.adaptors/range.transform/iterator/subscript.pass.cpp
@@ -24,10 +24,10 @@ constexpr bool test() {
assert(iter1[0] == 2);
assert(iter1[4] == 6);
- static_assert(!noexcept(
- std::declval<std::ranges::iterator_t<std::ranges::transform_view<MoveOnlyView, PlusOneMutable>>>()[0]));
- static_assert( noexcept(
- std::declval<std::ranges::iterator_t<std::ranges::transform_view<MoveOnlyView, PlusOneNoexcept>>>()[0]));
+ ASSERT_NOT_NOEXCEPT(
+ std::declval<std::ranges::iterator_t<std::ranges::transform_view<MoveOnlyView, PlusOneMutable>>>()[0]);
+ LIBCPP_ASSERT_NOEXCEPT(
+ std::declval<std::ranges::iterator_t<std::ranges::transform_view<MoveOnlyView, PlusOneNoexcept>>>()[0]);
ASSERT_SAME_TYPE(
int,
diff --git a/libcxx/test/std/ranges/range.utility/view.interface/view.interface.pass.cpp b/libcxx/test/std/ranges/range.utility/view.interface/view.interface.pass.cpp
index b3f9b972a0cb2..2720a75e7b8da 100644
--- a/libcxx/test/std/ranges/range.utility/view.interface/view.interface.pass.cpp
+++ b/libcxx/test/std/ranges/range.utility/view.interface/view.interface.pass.cpp
@@ -191,8 +191,8 @@ constexpr bool testEmpty() {
BoolConvertibleComparison<true> boolConv;
BoolConvertibleComparison<false> boolConv2;
- static_assert(noexcept(boolConv.empty()));
- static_assert(!noexcept(boolConv2.empty()));
+ LIBCPP_ASSERT_NOEXCEPT(boolConv.empty());
+ ASSERT_NOT_NOEXCEPT(boolConv2.empty());
assert(!boolConv.empty());
assert(!static_cast<BoolConvertibleComparison<true> const&>(boolConv).empty());
More information about the libcxx-commits
mailing list