[gcc r13-3040] libstdc++: Add effective-target 'hosted' for testsuite [PR103626]

Jonathan Wakely redi@gcc.gnu.org
Mon Oct 3 14:46:02 GMT 2022


https://gcc.gnu.org/g:25ebfdb774c0e8cc6c55e02644ee2cb157ce29d7

commit r13-3040-g25ebfdb774c0e8cc6c55e02644ee2cb157ce29d7
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Fri Sep 30 16:58:31 2022 +0200

    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.

Diff:
---
 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)] \


More information about the Libstdc++-cvs mailing list