From: Jonathan Wakely <jwak...@redhat.com>

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.

Signed-off-by: Arsen Arsenović <ar...@aarsen.me>
---
 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)] \
-- 
2.37.3

Reply via email to