Changeset 15035
- Timestamp:
- 06/03/17 04:35:36 (6 years ago)
- Location:
- trunk/abcl
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abcl/src/org/armedbear/lisp/compiler-pass2.lisp
r15034 r15035 6847 6847 6848 6848 (defun p2-throw (form target representation) 6849 ;; FIXME What if we're called with a non-NIL representation?6850 (declare (ignore representation))6851 6849 (with-operand-accumulation 6852 6850 ((emit-thread-operand) … … 6858 6856 ;; Following code will not be reached. 6859 6857 (when target 6860 (emit-push-nil) 6858 (ecase representation 6859 ((:int :boolean :char) 6860 (emit 'iconst_0)) 6861 ((nil) 6862 (emit-push-nil))) 6861 6863 (emit-move-from-stack target))) 6862 6864 -
trunk/abcl/test/lisp/abcl/misc-tests.lisp
r15034 r15035 136 136 (prog1 T (compile NIL (lambda (list) (nth (lambda ()) list)))) 137 137 T) 138 139 ;; these used to fail during byte code verification 140 (deftest throw.representation.1 141 (prog1 T (compile NIL (lambda () (eql (the fixnum (throw 'foo 42)) 2)))) 142 T) 143 144 (deftest throw.representation.2 145 (prog1 T (compile NIL (lambda () (char-code (the character (throw 'foo 42)))))) 146 T) 147 148 (deftest throw.representation.3 149 (prog1 T (compile NIL (lambda () (if (the boolean (throw 'foo 42)) 1 2)))) 150 T)
Note: See TracChangeset
for help on using the changeset viewer.