From 25ebfdb774c0e8cc6c55e02644ee2cb157ce29d7 Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Fri, 30 Sep 2022 16:58:31 +0200 Subject: [PATCH] libstdc++: Add effective-target 'hosted' for testsuite [PR103626] PR libstdc++/103626 - _GLIBCXX_HOSTED should respect -ffreestanding libstdc++-v3/ChangeLog: PR libstdc++/103626 * testsuite/lib/libstdc++.exp (check_effective_target_stacktrace): Also require hosted. (check_effective_target_hosted): New proc. --- libstdc++-v3/testsuite/lib/libstdc++.exp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/libstdc++-v3/testsuite/lib/libstdc++.exp b/libstdc++-v3/testsuite/lib/libstdc++.exp index d3256b6c8c4..635f16db4e8 100644 --- a/libstdc++-v3/testsuite/lib/libstdc++.exp +++ b/libstdc++-v3/testsuite/lib/libstdc++.exp @@ -1376,7 +1376,7 @@ 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" + set cond "_GLIBCXX_HAVE_STACKTRACE && _GLIBCXX_HOSTED" return [v3_check_preprocessor_condition stacktrace $cond] }] } @@ -1389,6 +1389,14 @@ proc check_effective_target_rtti { } { }] } +# Return 1 if a hosted implementation is available (i.e. not freestanding). +proc check_effective_target_hosted { } { + return [check_v3_target_prop_cached et_hosted { + set cond "_GLIBCXX_HOSTED" + return [v3_check_preprocessor_condition hosted $cond] + }] +} + set additional_prunes "" if { [info exists env(GCC_RUNTEST_PARALLELIZE_DIR)] \