[Ecls-list] Problem with the compiler

Goffioul Michael goffioul at imec.be
Thu Apr 28 07:28:54 UTC 2005


Hi,

I was trying to compile Maxima under ECL and got stuck when compiling one of the
file (commac.lisp). My compiler (MSVC) refuses to compile the generated code for
that file. For example, this generated piece of code does not compile:

/*      closure CLOSURE                                               */
static cl_object LC1(cl_narg narg, cl_object env0, ...)
{ VT5 VLEX5 CLSR5
        cl_object value0;
        {cl_object scan=env0; 
        CLV1= &CAR(scan);                         /*  TAGBODY                                      */ scan=CDR(scan);
        CLV0= &CAR(scan);}int i=0;
        cl_object V1;
        cl_va_list args; cl_va_start(args,env0,narg,0);
        V1=cl_grab_rest_args(args);
        *CLV0= V1;
        cl_go(*CLV1,MAKE_FIXNUM(0));
}

It complains when finding the expression "int i=0". Here, there might be 3 issues:
- There probably should be a new-line and/or ';' after the closing brace (at least under
  MSVC).
- Is it C-compliant to declare variables after a {}-block?
- Where this i variable comes from? It's not used in the code.

Bye.
Michael.




More information about the ecl-devel mailing list