[Ecls-list] Patches for C++ compatibility commited

Juan Jose Garcia-Ripoll Juan.Ripoll at mpq.mpg.de
Thu Dec 20 01:27:03 UTC 2001


I have finally integrated by hand the patches that Alexander S A
Kjeldaas prepared for making ECL compile with a C++ compiler (More
precisely the GNU C++ compiler). The changes finally include

1) A new flag for the configuration process: --enable-cxx
2) The possibility of specifying the C++ compiler with the CXX
environment variable at the configuration process.
3) GMP and the Boehm collector are still built with gcc, so you need
both compilers.
4) If --enable-cxx is specificed, Lisp files are compiled using the C++
5) The headers have been made more C++ compliant using #ifdef
__cplusplus everywhere.
6) A few functions have been already prefixed with "cl_". For instance,
"cl_alloc", "cl_alloc_atomic", "cl_throw", etc. In a near future *all
functions* will have this prefix.
7) Lots of other changes not listed in the original patches, such as
explicit coercions from (void *) to (char *), (object *), etc.
8) Changes in the lisp compiler to produce less declarations. The
compiler knows which lisp functions are in lisp_external.h and does not
produce declarations for them. (No list is needed for this,
si::mangle-name gives you this information)

Hope this works for all of you. I have uploaded these patches to CVS but
I will not make any release until sufficient testing have been performed
-- in other words, I expect your feedback :)


More information about the ecl-devel mailing list