diff --git a/pkgs/racket-test-core/tests/racket/jitinline.rktl b/pkgs/racket-test-core/tests/racket/jitinline.rktl index b40010c64e..b745719a8b 100644 --- a/pkgs/racket-test-core/tests/racket/jitinline.rktl +++ b/pkgs/racket-test-core/tests/racket/jitinline.rktl @@ -930,6 +930,43 @@ (bin-exact 5 'check-not-unsafe-undefined 5 'check-not-unsafe-undefined #:bad-value 'unsafe-undefined) ) + + ;; Even if extflonums are not available, check that uses don't + ;; confuse the JIT + (let () + (define-syntax-rule (check-jit-ok (proc arg ...)) + (test 'no (eval '(lambda (? arg ...) + (if ? + (proc arg ...) + 'no))) + #f 'arg ...)) + (check-jit-ok (extfl+ x y)) + (check-jit-ok (extfl* x y)) + (check-jit-ok (extfl- x y)) + (check-jit-ok (extfl/ x y)) + (check-jit-ok (extflmin x y)) + (check-jit-ok (extflmax x y)) + (check-jit-ok (extfl< x y)) + (check-jit-ok (extfl> x y)) + (check-jit-ok (extfl<= x y)) + (check-jit-ok (extfl>= x y)) + (check-jit-ok (extfl= x y)) + (check-jit-ok (extflabs x)) + (check-jit-ok (extflsqrt x)) + (check-jit-ok (extflsin x)) + (check-jit-ok (extflcos x)) + (check-jit-ok (extfltan x)) + (check-jit-ok (extflasin x)) + (check-jit-ok (extflacos x)) + (check-jit-ok (extflatan x)) + (check-jit-ok (extfllog x)) + (check-jit-ok (extflexp x)) + (check-jit-ok (extflexpt x y)) + (check-jit-ok (->extfl x y)) + (check-jit-ok (fx->extfl x y)) + (check-jit-ok (extflvector-length x)) + (check-jit-ok (extflvector-ref x y)) + (check-jit-ok (extflvector-set! x y z))) (let ([test-setter (lambda (make-X def-val set-val set-name set ref 3rd-all-ok?)