Changeset 13520


Ignore:
Timestamp:
08/20/11 22:01:18 (10 years ago)
Author:
ehuelsmann
Message:

Fix MULTIPLE-VALUE-PROG1.10 -- compiled mode.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abcl/src/org/armedbear/lisp/compiler-pass2.lisp

    r13519 r13520  
    30063006    (emit-getfield +lisp-thread+ "_values" +lisp-object-array+)
    30073007    (astore values-register)
     3008
     3009    ;; we need to clear the values again:
     3010    ;;  some parts will consider a non-null _values array
     3011    ;;  by itself a legitimate return value (multiple values)
     3012    ;;  however, if we have a non-local return after the previous form
     3013    ;;  set the values array, other code may pick up the values instead
     3014    ;;  of the actual return code. (Fixes MULTIPLE-VALUE-PROG1.10)
     3015    (emit-clear-values)
    30083016    (compile-progn-body subforms nil nil)
    30093017    ;; Restore multiple values returned by first subform.
Note: See TracChangeset for help on using the changeset viewer.