diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2022-01-14 19:33:22 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2022-01-14 19:33:22 -0800 |
commit | e7af6a5ec68b905b6d7e9d55a6dd875ff85d6eed (patch) | |
tree | ac316f41befb4cf5c3e063b8905a08017993dd9c /mpi/mpi-config.h | |
parent | f2fd34058d58cd637efc2fa3208d8f1703a4e7ed (diff) | |
download | txr-e7af6a5ec68b905b6d7e9d55a6dd875ff85d6eed.tar.gz txr-e7af6a5ec68b905b6d7e9d55a6dd875ff85d6eed.tar.bz2 txr-e7af6a5ec68b905b6d7e9d55a6dd875ff85d6eed.zip |
testing: cover compiled, non-inlined lambda.
The lambda.tl test, when compiled, is only testing the
compiler's implementation of the inlined lambda: code
generated from a lambda expression to which arguments are
statically applied. We augment this to also compile
real lambda functions which are called. Everything passes.
* tests/012/lambda.tl (call-lambda): New function.
(ltest): New macro, specifically geared for testing lambda
expressions. When *compile-test* is true, this generates code
which performs two tests: applying the arguments directly to
the lambda, and evaluating the lambda to a function which is
passed to call-lambda, which will then apply the arguments.
We cannot use apply, because the compiler sees through that
and will inline the lambda anyway.
(mltest): Multi-expression version of ltest. This is a drop-in
replacement for mtest in the rest of the file.
Diffstat (limited to 'mpi/mpi-config.h')
0 files changed, 0 insertions, 0 deletions