preprocessor: error when ECL_C_ARGUMENTS_LIMIT changes

This is a canary which errors when code needs to be adjusted. When
appropriate definitions are added the error condition should be
changed accordingly.
This commit is contained in:
Daniel Kochmański 2019-07-04 12:21:35 +02:00
parent 5986aee429
commit 903156b8d6
3 changed files with 9 additions and 1 deletions

View file

@ -183,7 +183,7 @@ typedef unsigned char ecl_base_char;
/* Numb. of args. which can be passed using the C stack */
/* See cmplam.lsp if you change this value */
#define ECL_C_ARGUMENTS_LIMIT 64
#define ECL_C_ARGUMENTS_LIMIT 63
/* Maximum number of output arguments */
#define ECL_MULTIPLE_VALUES_LIMIT 64

View file

@ -13,6 +13,10 @@
#include <ecl/ecl.h>
#if !(ECL_C_ARGUMENTS_LIMIT == 63)
#error "Please adjust code to the constant!"
#endif
cl_object
APPLY(cl_narg n, cl_objectfn fn, cl_object *x)
{

View file

@ -5,6 +5,10 @@
cfun_dispatch.c - trampolines for functions
*/
#if !(ECL_C_ARGUMENTS_LIMIT == 63)
#error "Please adjust code to the constant!"
#endif
static cl_object dispatch0 (cl_narg narg) {
const cl_env_ptr the_env = ecl_process_env();
cl_object fun = the_env->function;