Commit graph

723 commits

Author SHA1 Message Date
jjgarcia
a437b627c1 C++ does not like to convert function pointers to (void*) 2004-05-17 07:43:51 +00:00
jjgarcia
24688d57f8 Teach the compiler how to produce C functions with a fixed number of arguments when the corresponding lisp function does not have any &optional, &rest, &key. Teach it also how to produce slimmer code for MULTIPLE-VALUE-SETQ/BIND. The type of a C1FORM can now be a (VALUES ...) expression, the first value being obtained with C1FORM-PRIMARY-TYPE. 2004-05-17 07:32:52 +00:00
jjgarcia
1d03bcda98 Simplify the macroexpansion of M-V-BIND, since it is not used anyway. 2004-05-17 07:30:48 +00:00
jjgarcia
19154016bc We do not need any warnings about classes being redefined 2004-05-17 07:30:03 +00:00
jjgarcia
3e1a75f49e Unify the routines that emit calls to functions, so that they work with function objects and handle functions with fixed and variable number of arguments 2004-05-13 16:28:13 +00:00
jjgarcia
4217b9238e we cannot force-output a pretty-stream 2004-05-13 16:28:06 +00:00
jjgarcia
bdbed5ab7b format.lsp needs pprint.lsp, so load it twice. 2004-05-13 16:27:41 +00:00
jjgarcia
315b9792e7 Support for OpenBSD in configure 2004-05-12 19:47:30 +00:00
jjgarcia
f90f04d673 Rename the initialization option of FORMAT-CONTROL to make it compatible with CMUCL 2004-05-12 19:24:06 +00:00
jjgarcia
67eb87d545 write_ch = writec_stream when there is no pretty printer 2004-05-12 19:23:36 +00:00
jjgarcia
4b7bfbe93e List new files 2004-05-12 19:07:55 +00:00
jjgarcia
468c5e0396 *** empty log message *** 2004-05-12 14:55:04 +00:00
jjgarcia
db9bc0763a Recast some function pointers as (void*) to solve some problems with the C++ compiler. 2004-05-12 08:48:02 +00:00
jjgarcia
3246405dcc Imported the PRETTY-PRINTER from CMUCL and integrated it with the previously commited format.lsp. The old pretty printer remains merged in and is used by default. 2004-05-12 08:07:53 +00:00
jjgarcia
6231de024f Simplified the forms produced by DEFSTRUCT leaving most of the job for DEFINE-STRUCTURE. 2004-05-12 07:47:43 +00:00
jjgarcia
31ee0d5d58 Simplified the forms produced by DEFSTRUCT leaving most of the job for DEFINE-STRUCTURE. 2004-05-12 07:47:05 +00:00
jjgarcia
4e3189eddd Big changes in the way functions are compiled, unifying the code that handles DEFUN, DEFMACRO and LAMBDA, and fixing an important bug in the optimizer for tail-recursive calls. 2004-05-05 08:38:07 +00:00
jjgarcia
959180c2bd Protect the initialization routines of the lisp files with the prefix ECL, so that they do not collide with files supplied by the user 2004-04-27 08:30:30 +00:00
jjgarcia
20e3561ae0 Label with no statement. GCC complains. 2004-04-26 11:22:16 +00:00
jjgarcia
9346ae4df0 Take numbers into account when mangling names. 2004-04-23 15:43:18 +00:00
jjgarcia
8b678591be *** empty log message *** 2004-04-21 13:47:27 +00:00
jjgarcia
7afef75f7f Local variables can be changed by a local function 2004-04-21 13:47:02 +00:00
jjgarcia
f494e7140c Fixes in optimizer 2004-04-21 13:46:33 +00:00
jjgarcia
cd2f200d0c Header string.h is needed for strlen 2004-04-21 13:44:21 +00:00
jjgarcia
9eddd9fb08 All non-graphic characters below (code-char 128) have now character names from the ASCII standard 2004-04-21 13:42:25 +00:00
jjgarcia
4b480b2cec Some opcodes set the output in the VALUES stack, and cannot use REG0. 2004-04-08 14:02:21 +00:00
jjgarcia
2c1c1f540f LOGBIT cannot be inlined when the first argument is larger than the size of a C long, because LOGBITP is not equivalent to the C << or >> . 2004-04-08 14:01:42 +00:00
jjgarcia
2ff1c27c20 Routines like cl_go, cl_throw and cl_unwind cannot be declared as 'noreturn' because they can actually transfer control to the same function that called them. 2004-04-08 14:01:38 +00:00
jjgarcia
7b5a4db183 When a variable is not used, but it can be present in the code, replace it with a dummy value (NIL) 2004-04-08 07:30:53 +00:00
jjgarcia
6ace97e5ce Fixed typo. 2004-04-08 07:30:26 +00:00
jjgarcia
213ef3de8e MULTIPLE-VALUE-SETQ now uses (SETF (VALUES ...)) when some of the places to be set is not a variable, but a generalized place. 2004-04-07 16:39:31 +00:00
jjgarcia
3777c03f92 A VALUES form can now act as a place 2004-04-07 15:30:06 +00:00
jjgarcia
c503e0fc95 The different EPSILONs are now computed at compilation time, because the values provided by the C library are not all that precise. 2004-04-07 15:29:21 +00:00
jjgarcia
04525b9812 The --info-dir option was mispelled 2004-04-05 07:31:41 +00:00
jjgarcia
daa8064584 + Streams in ECL can now have element types CHARACTER, (UNSIGNED-BYTE 8)
and (SIGNED-BYTE 8). LISTEN and PEEK-CHAR had to be modified so that
they work with CONCATENATED-STREAMS. OPEN now signals errors of type
FILE-ERROR when a file cannot be opened.
+ Several special functions (ASIN, ACOS, ASINH, ...) have been reimplemented
using more stable formulas found in CMUCL, plus the functions from the C
mathematical library. They also serve as examples of how to use FFI:C-INLINE.
+ Several errors regarding packages have been rewritten as correctable errors,
and now the carry clearer messages.
+ In functions dealing with sequences, :COUNT can now be a bignum.
+ In the bytecodes compiler, MULTIPLE-VALUE-PROG1 did not save the values.
2004-04-05 07:21:54 +00:00
jjgarcia
62d43f4892 Preliminary implementation of the UFFI. 2004-03-29 11:13:17 +00:00
jjgarcia
b5d5a86d43 Removed old version of CLX, which no longer works. 2004-03-29 09:12:16 +00:00
jjgarcia
403511c488 The portable CLX library has been incorporated. 2004-03-25 09:02:27 +00:00
jjgarcia
b3e8118eb4 The values assigned to a structure must be always of type :OBJECT. 2004-03-25 09:00:53 +00:00
jjgarcia
a20347e85c Do not redefine ENSURE-CLASS unless cross-porting ECL 2004-03-25 09:00:04 +00:00
jjgarcia
72dc89f61b Fixed generation of function prototypes, and other glitches so that the lisp code can be compiled with a C++ compiler. The core library is still compiled with a C compiler. 2004-03-03 09:18:20 +00:00
jjgarcia
21b0d02960 Damm typo 2004-03-01 08:52:45 +00:00
jjgarcia
21e7d900a7 Implemented a safer routine to retrieve the pointer of a foreign data structure. 2004-03-01 08:42:33 +00:00
jjgarcia
0d9781668f *** empty log message *** 2004-02-29 16:45:03 +00:00
jjgarcia
268203b4a5 New configuration variable GCLIB. 2004-02-29 15:50:00 +00:00
jjgarcia
860dbd69ec Fixes due to type sizes, updates of the old garbage collector and the terrible bug with hash tables merged into main trunk 2004-02-29 15:47:01 +00:00
jjgarcia
fbbeb10815 More standard way of installing info files, by registering them with install-info 2004-02-03 19:15:40 +00:00
jjgarcia
e66f92fa45 *** empty log message *** 2004-02-03 18:35:52 +00:00
jjgarcia
71f921ed39 Remove some warnings from GCC 2004-01-24 17:00:24 +00:00
jjgarcia
feb3467d3d Remove unused header 2004-01-20 08:54:01 +00:00