File tree Expand file tree Collapse file tree 1 file changed +7
-7
lines changed
libcxx/test/std/atomics/atomics.ref Expand file tree Collapse file tree 1 file changed +7
-7
lines changed Original file line number Diff line number Diff line change @@ -42,21 +42,21 @@ constexpr bool does_not_have_increment_nor_decrement_operators() {
4242
4343template <typename T>
4444struct TestDoesNotHaveIncrementDecrement {
45- void operator ()() const { static_assert (does_not_have_increment_nor_decrement_operators<T >()); }
45+ void operator ()() const { static_assert (does_not_have_increment_nor_decrement_operators<std::atomic_ref<T> >()); }
4646};
4747
4848template <typename T>
4949struct TestIncrementDecrement {
5050 void operator ()() const {
51- static_assert (std::is_integral_v<T>);
51+ static_assert (std::is_integral_v<T> || std::is_pointer_v<T> );
5252
5353 T x (T (1 ));
5454 std::atomic_ref<T> const a (x);
5555
5656 {
5757 std::same_as<T> decltype (auto ) y = ++a;
58- assert (y == T (2 ) );
59- assert (x == T (2 ) );
58+ assert (y == T (1 ) + 1 );
59+ assert (x == T (1 ) + 1 );
6060 ASSERT_NOEXCEPT (++a);
6161 }
6262
@@ -70,13 +70,13 @@ struct TestIncrementDecrement {
7070 {
7171 std::same_as<T> decltype (auto ) y = a++;
7272 assert (y == T (1 ));
73- assert (x == T (2 ) );
73+ assert (x == T (1 ) + 1 );
7474 ASSERT_NOEXCEPT (a++);
7575 }
7676
7777 {
7878 std::same_as<T> decltype (auto ) y = a--;
79- assert (y == T (2 ) );
79+ assert (y == T (1 ) + 1 );
8080 assert (x == T (1 ));
8181 ASSERT_NOEXCEPT (a--);
8282 }
@@ -88,7 +88,7 @@ int main(int, char**) {
8888
8989 TestEachFloatingPointType<TestDoesNotHaveIncrementDecrement>()();
9090
91- TestEachPointerType<TestDoesNotHaveIncrementDecrement >()();
91+ TestEachPointerType<TestIncrementDecrement >()();
9292
9393 TestDoesNotHaveIncrementDecrement<bool >()();
9494 TestDoesNotHaveIncrementDecrement<UserAtomicType>()();
You can’t perform that action at this time.
0 commit comments