diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2018-03-19 06:38:50 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2018-03-19 06:38:50 -0700 |
commit | 72a1963588dfc53c2eb11e4d488bfd3e6951477d (patch) | |
tree | 5e1d33824c770de40ce737a6a261ddef79dc9768 /parser.h | |
parent | 1db866f4520c9e9a5ac63837a84c7ac7ff2e359e (diff) | |
download | txr-72a1963588dfc53c2eb11e4d488bfd3e6951477d.tar.gz txr-72a1963588dfc53c2eb11e4d488bfd3e6951477d.tar.bz2 txr-72a1963588dfc53c2eb11e4d488bfd3e6951477d.zip |
compiler: bug: lambda body uses inappropriate output reg.
* share/txr/stdlib/compiler.tl (compiler comp-lambda): The
incoming oreg, which indicates where the surrounding context
would like to put the closure, cannot be used for the
output location of the lambda body. Because then when the
closure is called, its return value will overwrite the
location where the closure was placed. We must allocate a
a new temporary register for this, and be sure to free it.
Diffstat (limited to 'parser.h')
0 files changed, 0 insertions, 0 deletions