summaryrefslogtreecommitdiff
path: root/gcc/testsuite/lib/target-supports.exp
diff options
context:
space:
mode:
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>2005-05-06 17:03:10 +0000
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>2005-05-06 17:03:10 +0000
commit16cb9d1f5a0497c0c9c2f439d9515ca31c17beea (patch)
tree128be1c28a19f18dd54e51d827c7eef015ccb6f2 /gcc/testsuite/lib/target-supports.exp
parent232ccb3086420ea3c20da2af1ada8fd4f478bfb6 (diff)
downloadgcc-16cb9d1f5a0497c0c9c2f439d9515ca31c17beea.tar.gz
* testsuite/testsuite_hooks.cc (try_mkfifo): Remove.
* testsuite/testsuite_hooks.h (try_mkfifo): Likewise. * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use dg-require-fork and dg-require-mkfifo. Replace try_mkfifo with mkfifo. * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise. * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise. * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise. * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Likewise. * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise. * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise. * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Likewise. * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise. * testsuite/27_io/objects/char/7.cc: Likewise. * testsuite/27_io/objects/char/9661-1.cc: Likewise. * testsuite/27_io/objects/wchar_t/7.cc: Likewise. * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise. * lib/target-supports-dg.exp (dg-require-fork): New function. (dg-require-mkfifo): Likewise. * lib/target-supports.exp (check_function_available): New function. (check_fork_available): Likewise. (check_mkfifo_available): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@99325 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite/lib/target-supports.exp')
-rw-r--r--gcc/testsuite/lib/target-supports.exp47
1 files changed, 47 insertions, 0 deletions
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 6d47ece07f0..90139ff8395 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -601,6 +601,53 @@ proc check_alpha_max_hw_available { } {
return $alpha_max_hw_available_saved
}
+# Returns true iff the FUNCTION is available on the target system.
+# (This is essentially a Tcl implementation of Autoconf's
+# AC_CHECK_FUNC.)
+
+proc check_function_available { function } {
+ set var "${function}_available_saved"
+ global $var
+ global tool
+
+ if {![info exists $var]} {
+ # Assume it exists.
+ set $var 1
+ # Check to make sure.
+ set src "function[pid].c"
+ set exe "function[pid].exe"
+
+ set f [open $src "w"]
+ puts $f "int main () { $function (); }"
+ close $f
+
+ set lines [${tool}_target_compile $src $exe executable ""]
+ file delete $src
+ file delete $exe
+
+ if {![string match "" $lines]} then {
+ set $var 0
+ verbose -log "$function is not available"
+ } else {
+ verbose -log "$function is available"
+ }
+ }
+
+ eval return \$$var
+}
+
+# Returns ture iff "fork" is available on the target system.
+
+proc check_fork_available {} {
+ return [check_function_available "fork"]
+}
+
+# Returns ture iff "mkfifo" is available on the target system.
+
+proc check_mkfifo_available {} {
+ return [check_function_available "mkfifo"]
+}
+
# Return 1 if we're generating 32-bit code using default options, 0
# otherwise.
#