]> git.eshelyaron.com Git - emacs.git/commitdiff
Add a compiler hint test
authorAndrea Corallo <akrl@sdf.org>
Mon, 25 May 2020 19:14:24 +0000 (20:14 +0100)
committerAndrea Corallo <akrl@sdf.org>
Mon, 25 May 2020 21:24:53 +0000 (22:24 +0100)
Test that compiler hints are executed transparently.

* test/src/comp-tests.el (comp-tests-type-hints): New test.

* test/src/comp-test-funcs.el (comp-tests-hint-fixnum-f)
(comp-tests-hint-cons-f): New functions.

test/src/comp-test-funcs.el
test/src/comp-tests.el

index 9fcc132b5187ba6ec96a09adb11880320b9e8ee2..5e04be4459fcab204d25b2f179f1f3b64d72de75 100644 (file)
 (defun comp-tests-cons-cdr-f (x)
   (cdr (cons 'foo x)))
 
+(defun comp-tests-hint-fixnum-f (n)
+  (1+ (comp-hint-fixnum n)))
+
+(defun comp-tests-hint-cons-f (c)
+  (car (comp-hint-cons c)))
+
 (defun comp-tests-varset0-f ()
   (setq comp-tests-var1 55))
 (defun comp-tests-varset1-f ()
index c07c92a1065ae3b132c1f30cd428b26902ebfe57..3e40dba10b4030518a50b7f8851ae3ea3b66879c 100644 (file)
@@ -194,6 +194,12 @@ Check that the resulting binaries do not differ."
   (should-error (comp-tests-fixnum-minus-f 'a)
                 :type 'wrong-type-argument))
 
+(ert-deftest comp-tests-type-hints ()
+  "Just test compiler hints are transparent in this case."
+  ;; FIXME we should really check they are also effective.
+  (should (= (comp-tests-hint-fixnum-f 3) 4))
+  (should (= (comp-tests-hint-cons-f (cons 1 2)) 1)))
+
 (ert-deftest comp-tests-arith-comp ()
   "Testing arithmetic comparisons."
   (should (eq (comp-tests-eqlsign-f 4 3) nil))