diff --git a/basis/math/floats/env/x86/x86-tests.factor b/basis/math/floats/env/x86/x86-tests.factor index 928c5021c8..4a77af9856 100644 --- a/basis/math/floats/env/x86/x86-tests.factor +++ b/basis/math/floats/env/x86/x86-tests.factor @@ -1,21 +1,14 @@ USING: math.floats.env math.floats.env.x86 tools.test -alien.c-types alien.syntax classes.struct compiler.test -math kernel sequences ; +classes.struct cpu.x86.assembler cpu.x86.assembler.operands +compiler.test math kernel sequences alien alien.c-types ; IN: math.floats.env.x86.tests -! the sqrtl function is really long double sqrtl ( long double x ) -! calling it as if it had a void return leaves the return value on -! the x87 stack, so 9 calls will be guaranteed to cause a stack -! fault -STRUCT: fake-long-double { x char[20] } ; -FUNCTION-ALIAS: busted-sqrtl - void sqrtl ( fake-long-double x ) ; [ t ] [ - [ - [ - 9 [ fake-long-double busted-sqrtl ] times - ] collect-fp-exceptions - ] compile-call + [ [ + void { } cdecl [ + 9 [ FLDZ ] times + ] alien-assembly + ] compile-call ] collect-fp-exceptions +fp-x87-stack-fault+ swap member? ] unit-test