]> git.eshelyaron.com Git - emacs.git/commitdiff
Add copy insn testcase
authorAndrea Corallo <akrl@sdf.org>
Thu, 12 Nov 2020 22:41:04 +0000 (23:41 +0100)
committerAndrea Corallo <akrl@sdf.org>
Thu, 12 Nov 2020 22:58:58 +0000 (23:58 +0100)
* test/src/comp-tests.el (copy-insn): New testcase.
* test/src/comp-test-funcs.el (comp-test-copy-insn-f): New
function.

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

index 1b0f3056b98ac47cd9a094fef27fd71a9dc1536a..bcf9fcb0fd157fe7ef1f9962092abb1ed3f2c726 100644 (file)
        comp-test-and-3-var
        2))
 
+(defun comp-test-copy-insn-f (insn)
+  ;; From `comp-copy-insn'.
+  (if (consp insn)
+      (let (result)
+       (while (consp insn)
+         (let ((newcar (car insn)))
+           (if (or (consp (car insn)) (comp-mvar-p (car insn)))
+               (setf newcar (comp-copy-insn (car insn))))
+           (push newcar result))
+         (setf insn (cdr insn)))
+       (nconc (nreverse result)
+               (if (comp-mvar-p insn) (comp-copy-insn insn) insn)))
+    (if (comp-mvar-p insn)
+        (copy-comp-mvar insn)
+      insn)))
+
 \f
 ;;;;;;;;;;;;;;;;;;;;
 ;; Tromey's tests ;;
index 61838c670e16a893b00e5c37265d976d032df04c..b2f839988386667833205612cdc54092b5a5e6dd 100644 (file)
@@ -444,6 +444,11 @@ https://lists.gnu.org/archive/html/bug-gnu-emacs/2020-03/msg00914.html."
   (should (= (comp-test-and-3-f t) 2))
   (should (null (comp-test-and-3-f '(1 2)))))
 
+(comp-deftest copy-insn ()
+  (should (equal (comp-test-copy-insn-f '(1 2 3 (4 5 6)))
+                 '(1 2 3 (4 5 6))))
+  (should (null (comp-test-copy-insn-f nil))))
+
 \f
 ;;;;;;;;;;;;;;;;;;;;;
 ;; Tromey's tests. ;;