diff --git a/src/tests/normal-tests/compiler.lsp b/src/tests/normal-tests/compiler.lsp index aafc150f..500253e1 100644 --- a/src/tests/normal-tests/compiler.lsp +++ b/src/tests/normal-tests/compiler.lsp @@ -739,16 +739,16 @@ (with-compiler ("make-load-form.lsp") "(in-package cl-test)" "(eval-when (:compile-toplevel) - (defparameter s4.0030 (make-instance 'compiler-test-class)) - (defparameter s5.0030 (make-instance 'compiler-test-class)) - (setf (compiler-test-parent s5.0030) s4.0030) - (setf (compiler-test-children s4.0030) (list s5.0030)))" + (defparameter s4.0030 (make-instance 'compiler-test-class)) + (defparameter s5.0030 (make-instance 'compiler-test-class)) + (setf (compiler-test-parent s5.0030) s4.0030) + (setf (compiler-test-children s4.0030) (list s5.0030)))" "(defparameter a.0030 '#.s5.0030)" "(defparameter b.0030 '#.s4.0030)" "(defparameter c.0030 '#.s5.0030)" "(defun foo.0030 () - (let ((*print-circle* t)) - (with-output-to-string (s) (princ '#1=(1 2 3 #.s4.0030 #1#) s))))") + (let ((*print-circle* t)) + (with-output-to-string (s) (princ '#1=(1 2 3 #.s4.0030 #1#) s))))") (declare (ignore output)) (load file) (delete-file "make-load-form.lsp") @@ -757,7 +757,8 @@ (is (and (search "#1=(1 2 3 # #1#)" str)))) (is (eq (compiler-test-parent a.0030) b.0030)) - (is (eq (first (compiler-test-children b.0030)) a.0030))) + (is (eq (first (compiler-test-children b.0030)) a.0030)) + (is (eq a.0030 c.0030))) ;;; Date: 9/06/2006 (Pascal Costanza) ;;; Fixed: 13/06/2006 (juanjo) @@ -1707,14 +1708,16 @@ ;;; URL: https://gitlab.com/embeddable-common-lisp/ecl/-/issues/565 ;;; Description ;;; -;;; COMPILE-FILE produces two vectors VV and VVtemp which -;;; represent the fasl data segment. The latter is deallocated -;;; after all top-level forms are evaluated. As compiler processes -;;; them currently if the object is first pushed to the temporary -;;; segment and then we try to add it to the permanent segment we -;;; have two versions of the same objects which are not EQ. File -;;; src/cmp/cmpwt.lsp has an appropriate FIXME in the ADD-OBJECT -;;; function definition. +;;; This test checks whether the same constant is coalesced to the EQ +;;; value among three distinct top-level forms. +;;; +;;; ccmp's COMPILE-FILE produces two vectors VV and VVtemp which represent +;;; the fasl data segment. The latter is deallocated after all top-level +;;; forms are evaluated. As compiler processes them currently if the +;;; object is first pushed to the temporary segment and then we try to add +;;; it to the permanent segment we have two versions of the same objects +;;; which are not EQ. File src/cmp/cmpwt.lsp has an appropriate FIXME in +;;; the ADD-OBJECT function definition. (test cmp.0076.make-load-form-non-eq (multiple-value-bind (file output) (with-compiler ("make-temp.lsp") @@ -1745,8 +1748,6 @@ (delete-file file)) (multiple-value-bind (x a b) (foo) (is (eq x a) "~a is not eq to ~a" x a) - ;; This test passes because B toplevel form is compiled after the - ;; function FOO. Included here for completness. (is (eq x b) "~a is not eq to ~a" x b) (is (eq a b) "~a is not eq to ~a" a b)))