From: Jonathan Wakely Date: Fri, 22 Mar 2024 22:26:10 +0000 (+0000) Subject: libstdc++: Replace stacktrace effective target with feature test X-Git-Tag: basepoints/gcc-15~468 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=217e778a31d68815b029f5110825cd36caefd908;p=thirdparty%2Fgcc.git libstdc++: Replace stacktrace effective target with feature test Rmove the dejagnu code for checking whether std::stacktrace is supported and just use the new dg-require-cpp-feature-test directive to check for __cpp_lib_stacktrace instead. libstdc++-v3/ChangeLog: * testsuite/19_diagnostics/stacktrace/current.cc: Check for __cpp_lib_stacktrace instead of check for stacktrace ET. * testsuite/19_diagnostics/stacktrace/entry.cc: Likewise. * testsuite/19_diagnostics/stacktrace/hash.cc: Likewise. * testsuite/19_diagnostics/stacktrace/output.cc: Likewise. * testsuite/19_diagnostics/stacktrace/stacktrace.cc: Likewise. * testsuite/19_diagnostics/stacktrace/synopsis.cc: Likewise. * testsuite/19_diagnostics/stacktrace/version.cc: Likewise. * testsuite/23_containers/vector/debug/assign4_backtrace_neg.cc: Likewise. * testsuite/lib/libstdc++.exp (check_effective_target_stacktrace): Remove. --- diff --git a/libstdc++-v3/testsuite/19_diagnostics/stacktrace/current.cc b/libstdc++-v3/testsuite/19_diagnostics/stacktrace/current.cc index a27836d27af2..b1af5f74fb2f 100644 --- a/libstdc++-v3/testsuite/19_diagnostics/stacktrace/current.cc +++ b/libstdc++-v3/testsuite/19_diagnostics/stacktrace/current.cc @@ -1,6 +1,6 @@ // { dg-options "-lstdc++exp" } // { dg-do run { target c++23 } } -// { dg-require-effective-target stacktrace } +// { dg-require-cpp-feature-test __cpp_lib_stacktrace } #include #include diff --git a/libstdc++-v3/testsuite/19_diagnostics/stacktrace/entry.cc b/libstdc++-v3/testsuite/19_diagnostics/stacktrace/entry.cc index ab016d564001..bb348ebef8fd 100644 --- a/libstdc++-v3/testsuite/19_diagnostics/stacktrace/entry.cc +++ b/libstdc++-v3/testsuite/19_diagnostics/stacktrace/entry.cc @@ -1,6 +1,6 @@ // { dg-options "-lstdc++exp" } // { dg-do run { target c++23 } } -// { dg-require-effective-target stacktrace } +// { dg-require-cpp-feature-test __cpp_lib_stacktrace } #include #include "testsuite_hooks.h" diff --git a/libstdc++-v3/testsuite/19_diagnostics/stacktrace/hash.cc b/libstdc++-v3/testsuite/19_diagnostics/stacktrace/hash.cc index 21705098ff0f..2176596ae5c9 100644 --- a/libstdc++-v3/testsuite/19_diagnostics/stacktrace/hash.cc +++ b/libstdc++-v3/testsuite/19_diagnostics/stacktrace/hash.cc @@ -1,6 +1,6 @@ // { dg-options "-lstdc++exp" } // { dg-do run { target c++23 } } -// { dg-require-effective-target stacktrace } +// { dg-require-cpp-feature-test __cpp_lib_stacktrace } #include #include diff --git a/libstdc++-v3/testsuite/19_diagnostics/stacktrace/output.cc b/libstdc++-v3/testsuite/19_diagnostics/stacktrace/output.cc index 67f1e0cebaf9..e27aea1f5089 100644 --- a/libstdc++-v3/testsuite/19_diagnostics/stacktrace/output.cc +++ b/libstdc++-v3/testsuite/19_diagnostics/stacktrace/output.cc @@ -1,6 +1,6 @@ // { dg-options "-lstdc++exp" } // { dg-do run { target c++23 } } -// { dg-require-effective-target stacktrace } +// { dg-require-cpp-feature-test __cpp_lib_stacktrace } // { dg-add-options no_pch } #include diff --git a/libstdc++-v3/testsuite/19_diagnostics/stacktrace/stacktrace.cc b/libstdc++-v3/testsuite/19_diagnostics/stacktrace/stacktrace.cc index 5dfa76951df5..070c4157471c 100644 --- a/libstdc++-v3/testsuite/19_diagnostics/stacktrace/stacktrace.cc +++ b/libstdc++-v3/testsuite/19_diagnostics/stacktrace/stacktrace.cc @@ -1,6 +1,6 @@ // { dg-options "-lstdc++exp" } // { dg-do run { target c++23 } } -// { dg-require-effective-target stacktrace } +// { dg-require-cpp-feature-test __cpp_lib_stacktrace } #include #include "testsuite_allocator.h" diff --git a/libstdc++-v3/testsuite/19_diagnostics/stacktrace/synopsis.cc b/libstdc++-v3/testsuite/19_diagnostics/stacktrace/synopsis.cc index 9e775b86ac97..b99d382ec267 100644 --- a/libstdc++-v3/testsuite/19_diagnostics/stacktrace/synopsis.cc +++ b/libstdc++-v3/testsuite/19_diagnostics/stacktrace/synopsis.cc @@ -1,5 +1,5 @@ // { dg-do compile { target c++23 } } -// { dg-require-effective-target stacktrace } +// { dg-require-cpp-feature-test __cpp_lib_stacktrace } // { dg-require-normal-namespace "" } // { dg-add-options no_pch } diff --git a/libstdc++-v3/testsuite/19_diagnostics/stacktrace/version.cc b/libstdc++-v3/testsuite/19_diagnostics/stacktrace/version.cc index 21c2d48b7b50..1fc7722a6f40 100644 --- a/libstdc++-v3/testsuite/19_diagnostics/stacktrace/version.cc +++ b/libstdc++-v3/testsuite/19_diagnostics/stacktrace/version.cc @@ -1,5 +1,5 @@ // { dg-do preprocess { target c++23 } } -// { dg-require-effective-target stacktrace } +// { dg-require-cpp-feature-test __cpp_lib_stacktrace } // { dg-add-options no_pch } #include diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/assign4_backtrace_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/assign4_backtrace_neg.cc index 43a82fb12010..2f7238c590c3 100644 --- a/libstdc++-v3/testsuite/23_containers/vector/debug/assign4_backtrace_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/vector/debug/assign4_backtrace_neg.cc @@ -1,6 +1,6 @@ // { dg-do run { xfail *-*-* } } // { dg-options "-D_GLIBCXX_DEBUG_BACKTRACE -lstdc++exp" } -// { dg-require-effective-target stacktrace } +// { dg-require-cpp-feature-test __cpp_lib_stacktrace } #include #include diff --git a/libstdc++-v3/testsuite/lib/libstdc++.exp b/libstdc++-v3/testsuite/lib/libstdc++.exp index 2b31c9508269..67a63f5b5f39 100644 --- a/libstdc++-v3/testsuite/lib/libstdc++.exp +++ b/libstdc++-v3/testsuite/lib/libstdc++.exp @@ -1570,14 +1570,6 @@ proc check_effective_target_std_allocator_new { } { }] } -# Return 1 if libstdc++ was built as --enable-libstdcxx-backtrace -proc check_effective_target_stacktrace { } { - return [check_v3_target_prop_cached et_stacktrace { - set cond "_GLIBCXX_HAVE_STACKTRACE && _GLIBCXX_HOSTED" - return [v3_check_preprocessor_condition stacktrace $cond] - }] -} - # Return 1 if RTTI is enabled by the current test flags. proc check_effective_target_rtti { } { return [check_v3_target_prop_cached et_rtti {