fix #409: order of evaluation of values forms

the fix for #330 is unaffected
This commit is contained in:
Marius Gerbershagen 2017-12-29 16:58:27 +01:00
parent 39000946e3
commit 9227f4e342

View file

@ -94,9 +94,10 @@
(defun emit-inlined-values (form forms)
(let ((args (c1form-arg 0 form)))
(prog1 (emit-inline-form (or (pop args) (c1nil))
;; the rest of the form in inlined values
;; are the rest of the values args
args)
;; the rest of the values args need to be
;; added to the rest forms to execute side
;; effects in the correct order
(append args forms))
(loop with *destination* = 'TRASH
for form in args
do (c2expr* form)))))