diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2018-03-20 06:54:53 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2018-03-20 06:54:53 -0700 |
commit | 29a7725f0d556014aaec66d2d329ab5d2de93c5d (patch) | |
tree | a4de06a43c81874dcffd685541bbec7937138943 | |
parent | e500f3db34b3ced0409c6fd4934dcf13a5703d1b (diff) | |
download | txr-29a7725f0d556014aaec66d2d329ab5d2de93c5d.tar.gz txr-29a7725f0d556014aaec66d2d329ab5d2de93c5d.tar.bz2 txr-29a7725f0d556014aaec66d2d329ab5d2de93c5d.zip |
compiler: let bugfix: wrong output register designated.
* share/txr/stdlib/compiler.tl (compiler comp-let): The
returned fragment must specify boreg not oreg, because
the output is either in oreg or bfrag.oreg.
-rw-r--r-- | share/txr/stdlib/compiler.tl | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/share/txr/stdlib/compiler.tl b/share/txr/stdlib/compiler.tl index 33f02a2c..13d453d3 100644 --- a/share/txr/stdlib/compiler.tl +++ b/share/txr/stdlib/compiler.tl @@ -344,7 +344,7 @@ fvars (uni fvars frag.fvars))))))))) (bfrag me.(comp-progn oreg nenv body)) (boreg (if env.(out-of-scope bfrag.oreg) oreg bfrag.oreg))) - (new (frag oreg + (new (frag boreg (append code bfrag.code (maybe-mov boreg bfrag.oreg) ^((end ,boreg))) |