From 23972128c83e62011b583f06b32c8501c096b7d8 Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Mon, 10 May 2021 15:10:45 +0100 Subject: [PATCH] libstdc++: Adjust expected errors in tests when compiled as C++20 libstdc++-v3/ChangeLog: * testsuite/20_util/scoped_allocator/69293_neg.cc: Add dg-error for additional errors in C++20. * testsuite/20_util/specialized_algorithms/memory_management_tools/destroy_neg.cc: Likewise. * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise. * testsuite/27_io/filesystem/path/io/dr2989.cc: Likewise. --- libstdc++-v3/testsuite/20_util/scoped_allocator/69293_neg.cc | 1 + .../memory_management_tools/destroy_neg.cc | 2 ++ libstdc++-v3/testsuite/20_util/uses_allocator/69293_neg.cc | 2 +- libstdc++-v3/testsuite/27_io/filesystem/path/io/dr2989.cc | 1 + 4 files changed, 5 insertions(+), 1 deletion(-) diff --git a/libstdc++-v3/testsuite/20_util/scoped_allocator/69293_neg.cc b/libstdc++-v3/testsuite/20_util/scoped_allocator/69293_neg.cc index 5efd849ff36d..fd37374447f9 100644 --- a/libstdc++-v3/testsuite/20_util/scoped_allocator/69293_neg.cc +++ b/libstdc++-v3/testsuite/20_util/scoped_allocator/69293_neg.cc @@ -47,6 +47,7 @@ test01() auto p = sa.allocate(1); sa.construct(p); // this is required to be ill-formed // { dg-error "failed: .* uses_allocator is true" "" { target *-*-* } 0 } + // { dg-error "too many initializers for 'X'" "" { target c++2a } 0 } } // Needed because of PR c++/92193 diff --git a/libstdc++-v3/testsuite/20_util/specialized_algorithms/memory_management_tools/destroy_neg.cc b/libstdc++-v3/testsuite/20_util/specialized_algorithms/memory_management_tools/destroy_neg.cc index b17c6a0b90c7..626f2e1c6ee1 100644 --- a/libstdc++-v3/testsuite/20_util/specialized_algorithms/memory_management_tools/destroy_neg.cc +++ b/libstdc++-v3/testsuite/20_util/specialized_algorithms/memory_management_tools/destroy_neg.cc @@ -48,3 +48,5 @@ test02() } // { dg-error "value type is destructible" "" { target *-*-* } 0 } +// { dg-error "use of deleted function" "" { target c++20 } 0 } +// { dg-error "is private within this context" "" { target c++20 } 0 } diff --git a/libstdc++-v3/testsuite/20_util/uses_allocator/69293_neg.cc b/libstdc++-v3/testsuite/20_util/uses_allocator/69293_neg.cc index 921ebbc87de3..2c5a62190e88 100644 --- a/libstdc++-v3/testsuite/20_util/uses_allocator/69293_neg.cc +++ b/libstdc++-v3/testsuite/20_util/uses_allocator/69293_neg.cc @@ -45,5 +45,5 @@ test01() alloc_type a; std::tuple t(std::allocator_arg, a); // this is required to be ill-formed // { dg-error "failed: .* uses_allocator is true" "" { target *-*-* } 0 } - // { dg-error "no matching function for call" "" { target c++2a } 0 } + // { dg-error "too many initializers for 'X'" "" { target c++2a } 0 } } diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/io/dr2989.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/io/dr2989.cc index c5cda7764777..e858e3508bda 100644 --- a/libstdc++-v3/testsuite/27_io/filesystem/path/io/dr2989.cc +++ b/libstdc++-v3/testsuite/27_io/filesystem/path/io/dr2989.cc @@ -33,3 +33,4 @@ void foo(std::iostream& s) { s >> p; // { dg-error "no match" } } // { dg-prune-output "no type .*enable_if" } +// { dg-prune-output "template constraint failure" } -- 2.47.2