|
From: Sam S. <sd...@gn...> - 2017-03-10 02:11:38
|
Hi Bruno, > * Bruno Haible <oe...@py...> [2017-03-08 23:47:43 +0100]: > >> The reason is that `(def-c-type foo)` (without definition) modifies >> *c-type-table* and it becomes a part of CLISP base image (because >> readline is a base module). >> Now, when writing the C file after compiling FFI forms, CLISP writes >> register_foreign_inttype for all such types. > > When 'clisp-link' is used to create a linking set B from a linking set A > and some modules M1, M2, ... [in our case A = base, B = full]: why does > it need to do anything with the types that are already in *c-type-table* > of A ? when compiling linux.lisp, it produces linux.c and writes there all the C-style (string) types from *c-type-table*. the assumption has always been that the "canonical" *c-type-table* has nothing like that. we need to do it slightly differently; I think I can fix it. > Or is clisp-link starting out with the memory image from A and adding the > modules M1, M2, ... to it? this. > If it's the second case, then why the need to rebuild the *c-ctype-table* from > scratch? we are not rebuilding it, but rather augmenting it. -- Sam Steingold (http://sds.podval.org/) on Ubuntu 16.10 (yakkety) X 11.0.11804000 http://www.childpsy.net/ http://thereligionofpeace.com http://www.memritv.org http://dhimmi.org http://memri.org Crooks cannot be voted out of power as long as they count the votes. |