[Ecls-list] Alpha/Sparc architectures broken

Juan Jose Garcia-Ripoll worm at arrakis.es
Mon Oct 27 07:55:12 UTC 2003


Dear all,

I have verified that ECL does not work on non-intel platforms. The reason is 
the C code of the lisp interpreter (and maybe some other parts which I 
haven't checked yet). GCC is producing weird results failing to compile 
things like (macro-expanded code from src/c/intepreter.d)
	char *vector;
	...
	int n = *(((int16_t *)vector)++);
	...
Well, actually it compiles it, but the variable "n" gets a trashed value. I 
have tried several variations like
	int n = ((int16_t *)vector)[0]; vector += sizeof(int16_t);
and some other splittings. All of them failed until I used
	int16_t n = ((int16_t *)vector)[0]; vector += sizeof(int16_t);
I still must decide what to do.

Regards,

Juanjo




More information about the ecl-devel mailing list