]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
libstdc++: [_GLIBCXX_INLINE_VERSION] Fix tests failures
authorFrançois Dumont <frs.dumont@gmail.com>
Mon, 28 Apr 2025 16:53:36 +0000 (18:53 +0200)
committerFrançois Dumont <fdumont@gcc.gnu.org>
Wed, 30 Apr 2025 05:41:32 +0000 (07:41 +0200)
Adapt testsuite v3_target_compile to strip version namespace from compiler
output so that dg-error and dg-warning directives do not need to consider it.

libstdc++-v3/ChangeLog:

* testsuite/lib/libstdc++.exp (v3_target_compile): Strip version namespace
from compiler output.
* testsuite/20_util/function/cons/70692.cc: Remove now useless __8 namespace
pattern.
* testsuite/23_containers/map/48101_neg.cc: Likewise.
* testsuite/23_containers/multimap/48101_neg.cc: Likewise.

Co-authored-by: Jonathan Wakely <jwakely@redhat.com>
(cherry picked from commit 8709d6a17830c8a9f48cb3ac6dfc6af76f2e1e81)

libstdc++-v3/testsuite/20_util/function/cons/70692.cc
libstdc++-v3/testsuite/23_containers/map/48101_neg.cc
libstdc++-v3/testsuite/23_containers/multimap/48101_neg.cc
libstdc++-v3/testsuite/lib/libstdc++.exp

index b15208a25317b69c99dc1f3a5c35e6c083cb74ac..f9e8fe31570c05232020dae603a686b1ec0a59a7 100644 (file)
@@ -11,4 +11,4 @@ int main()
   std::function<const int&()> ff(f);  // { dg-error "no matching function" }
   std::function<long&&()> f2(f);      // { dg-error "no matching function" }
 }
-// { dg-error "std::(__8::)?enable_if" "" { target *-*-* } 0 }
+// { dg-error "std::enable_if" "" { target *-*-* } 0 }
index 71deaef288102e2f0bc499a9628d0b63f5bc7364..264034d2d50d4ef9fca8a5f69daa8e12e026b5c1 100644 (file)
@@ -28,8 +28,8 @@ test01()
   c2.find(2); // { dg-error "here" }
 }
 
-// { dg-error "_Compare = std::(__8::)?less<int.>" "" { target *-*-* } 0 }
-// { dg-error "_Compare = std::(__8::)?allocator<int>" "" { target *-*-* } 0 }
+// { dg-error "_Compare = std::less<int.>" "" { target *-*-* } 0 }
+// { dg-error "_Compare = std::allocator<int>" "" { target *-*-* } 0 }
 // { dg-error "comparison object must be invocable" "" { target *-*-* } 0 }
 // { dg-prune-output "no match for call" }
 // { dg-prune-output "invalid conversion" }
index 5b40fe3e0213afeb6894aa52e9aae550aa3de0f9..038b9f12141b5731f0c63c3906908ff9dac6f1a5 100644 (file)
@@ -28,8 +28,8 @@ test01()
   c2.find(2); // { dg-error "here" }
 }
 
-// { dg-error "_Compare = std::(__8::)?less<int.>" "" { target *-*-* } 0 }
-// { dg-error "_Compare = std::(__8::)?allocator<int>" "" { target *-*-* } 0 }
+// { dg-error "_Compare = std::less<int.>" "" { target *-*-* } 0 }
+// { dg-error "_Compare = std::allocator<int>" "" { target *-*-* } 0 }
 // { dg-error "comparison object must be invocable" "" { target *-*-* } 0 }
 // { dg-prune-output "no match for call" }
 // { dg-prune-output "invalid conversion" }
index 67a63f5b5f39f9003e62e9417a22a488493f1d34..927f7739d08cd18b39b1be2e4724121d6740b7ae 100644 (file)
@@ -650,6 +650,11 @@ proc v3_target_compile { source dest type options } {
     }
 
     set comp_output [target_compile $source $dest $type $options]
+
+    # Strip versioned namespace from the compiler output,
+    # so that dg-error and dg-warning patterns can ignore it:
+    regsub -all "std::__8::" $comp_output "std::" comp_output
+
     if { $type == "executable" && $file_to_delete != "" } {
        file delete $file_to_delete
        if { [istarget *-*-darwin*] && [file exists $file_to_delete.dSYM] } {