[PATCH 08/10] libstdc++: Add effective-target 'hosted' for testsuite [PR103626]

Arsen Arsenović arsen@aarsen.me
Fri Sep 30 16:45:54 GMT 2022


From: Jonathan Wakely <jwakely@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ć <arsen@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



More information about the Gcc-patches mailing list