testsuite: Use feature test rather than enumeration for complex
This commit is contained in:
@@ -223,6 +223,24 @@ proc libffi_target_compile { source dest type options } {
|
||||
return [target_compile $source $dest $type $options]
|
||||
}
|
||||
|
||||
# TEST should be a preprocessor condition. Returns true if it holds.
|
||||
proc libffi_feature_test { test } {
|
||||
set src "ffitest.c"
|
||||
|
||||
set f [open $src "w"]
|
||||
puts $f "#include <ffi.h>"
|
||||
puts $f $test
|
||||
puts $f "xyzzy"
|
||||
puts $f "#endif"
|
||||
close $f
|
||||
|
||||
set lines [libffi_target_compile $src "" "preprocess" ""]
|
||||
file delete $src
|
||||
|
||||
set last [lindex $lines end]
|
||||
return [regexp -- "xyzzy" $last]
|
||||
}
|
||||
|
||||
# Utility routines.
|
||||
|
||||
#
|
||||
|
||||
@@ -24,15 +24,7 @@ set ctlist [lsearch -inline -all -glob [lsort [glob -nocomplain -- $srcdir/$subd
|
||||
|
||||
run-many-tests $tlist ""
|
||||
|
||||
# ??? We really should preprocess ffi.h and grep
|
||||
# for FFI_TARGET_HAS_COMPLEX_TYPE.
|
||||
if { [istarget aarch64*]
|
||||
|| [istarget alpha*]
|
||||
|| [istarget arm*]
|
||||
|| [istarget i?86*]
|
||||
|| [istarget s390*]
|
||||
|| [istarget sparc*]
|
||||
|| [istarget x86_64*] } {
|
||||
if { [libffi_feature_test "#ifdef FFI_TARGET_HAS_COMPLEX_TYPE"] } {
|
||||
run-many-tests $ctlist ""
|
||||
} else {
|
||||
foreach test $ctlist {
|
||||
|
||||
Reference in New Issue
Block a user