1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-20 19:50:24 +02:00
guile/module
Andy Wingo 0083cb5ec4 fix self tail recursion to different case-lambda clauses
http://savannah.gnu.org/bugs/?33362

* module/language/tree-il/compile-glil.scm (flatten-lambda-case): Rename
  from flatten, as it really just takes a particular case.  Instead of
  iteratively compiling lambda cases through `comp', tail-call through
  flatten-lambda-case.  This allows code to see which case it's being
  compiled in.  Take advantage of that to limit the self-tail-call
  optimization to self-calls to the same case -- otherwise we might be
  jumping to a label without having reserved the right number of
  locals.
  (flatten-lambda): Adapt the caller.

* test-suite/tests/compiler.test ("case-lambda"): Add a test.
2011-06-17 17:08:06 +02:00
..
ice-9 Silence warnings for variables created by `generate-temporaries' 2011-06-17 10:43:24 +02:00
language fix self tail recursion to different case-lambda clauses 2011-06-17 17:08:06 +02:00
oop (syntax foo) -> #'foo in goops 2011-05-21 13:13:58 +02:00
rnrs rnrs io ports: fix port encoding when opening file ports 2011-05-27 15:32:01 +02:00
scripts rename guile-tools' to guild' 2011-05-31 22:01:47 +02:00
srfi fix srfi-1 map-in-order definition 2011-05-07 11:31:38 +02:00
sxml sxml->xml fix 2010-12-02 22:24:26 +01:00
system add (system base target) 2011-05-31 11:18:28 +02:00
texinfo fix stexi->html double translation 2011-03-26 13:33:40 +01:00
web web server more assiduous about closing ports 2011-02-24 11:10:49 +01:00
Makefile.am rename guile-tools' to guild' 2011-05-31 22:01:47 +02:00
rnrs.scm Enhance transcoder-related functionality of `(rnrs io ports)' 2011-03-13 23:14:43 +01:00
statprof.scm add gcprof 2011-05-05 11:43:12 +02:00
texinfo.scm Remove unused top-level variables. 2010-01-11 01:21:14 +01:00