Commit graph

21 commits

Author SHA1 Message Date
jjgarcia
20564352dd ASH was bitten by a C feature: that numbers cannot be right shifted (>>) more than the number of bits they have. Otherwise the result is unspecified, and in intel bogus (due to the use of SAR). 2003-12-19 16:35:42 +00:00
jjgarcia
8ae8d16cd4 Fixed LOGBITP and the other binary operations among integers. 2003-12-15 08:53:07 +00:00
jjgarcia
a8e972d96a Try to initialize variables and constants in all_symbols.d. 2003-08-06 13:23:22 +00:00
jjgarcia
91b206d4a3 The "int" type is too small to host a fixnum. 2003-07-03 08:23:39 +00:00
jjgarcia
5e56be36a8 ECL ported to Solaris/SPARC-32 2003-07-01 12:28:44 +00:00
jjgarcia
7b5fe28c18 Implement bignum operations using GMP and not dealing with the low-level
representation of these numbers.
2003-04-08 14:31:05 +00:00
jjgarcia
41c0868469 Bunch of fixes. See CHANGELOG. 2003-03-17 10:39:08 +00:00
jjgarcia
62141f9f5d Replace int -> cl_fixnum, cl_index, to avoid problems with 64-bit archit.
Make sure that structure/instance slots may be indexed with a simple integer.
2002-12-09 12:10:33 +00:00
jjgarcia
7b4be96812 Remove more unused entries in external.h. 2002-11-18 17:28:02 +00:00
jjgarcia
2e6482b0a1 Rewrite the checking of # of arguments, so that the error message gets the name of the function whenever possible. 2002-11-18 11:29:21 +00:00
jjgarcia
b0ce08d0ea Changes towards 0.7b comprise naming and calling conventions. See CHANGELOG. 2002-11-04 14:08:24 +00:00
jjgarcia
a9e4edf4d0 The calling conventions have been changed. SI::C-ARGUMENTS-LIMIT and
LAMBDA-PARAMETERS-LIMIT are both 64. Up to C-ARGUMENTS-LIMIT may be
passed to a function using C calling conventions. If the function is
to retrieve more arguments, (for instance through a &rest variable),
this can be done, but then the arguments have to be pushed on the lisp
stack. This method allows us to raise the CALL-ARGUMENTS-LIMIT up to
MOST-POSITIVE-FIXNUM. From a users point of view, there is no visible
change, excep the fact that a function may receive more arguments.

The function apply() has been replaced with cl_apply_from_stack().
The former took a pointer to the list of arguments. The latter assumes
that the last "narg" elements on the lisp stack are the arguments of
the function.
2002-10-21 09:27:58 +00:00
jjgarcia
7ce6a0d4c2 Avoid recreating symbols when assigning value to constants. 2002-09-22 12:08:05 +00:00
jjgarcia
c9b91f9618 Minimal patches for C++ compatibility 2001-12-20 09:17:51 +00:00
jjgarcia
851cd03941 The project name goes back to ECL. Therefore feature #+ECL returns and the
program and libraries are named ecl*. Finally the routine sys::build-ecls
has been renamed sys::build-program.
2001-11-21 08:07:30 +00:00
jjgarcia
9b4bd625f4 +The compiler produced wrong code for RETURN-FROM forms inside an UNWIND-PROTECT.
+Deftype BIT-VECTOR would not expand to a vector type.
+Each compiled file has an entry point whose name is either
 init_CODE() or another name based on the name of the source file.
 The algorithm for computing these names has been slightly changed
 so that the entry points of ECLS's own library do not conflict with
 user defined entry points.
+A LET/LET* form in which the initializers for a variable have not
 the expected type produce a warning, but the code is accepted. For
 instance (LET (V) (DECLARE (TYPE FIXNUM V)) (SETQ V 1)) now
 compiles.
+(SETF name), where name is a symbol, is now a valid function name in all
 contexts. It is accepted by DEFUN, FUNCTION, FBOUNDP, FMAKUNBOUND, etc,
 and it can be the on the function position in any form.
+New specialized arrays for (UNSIGNED-BYTE 8) and (SIGNED-BYTE 8).
2001-11-17 11:02:12 +00:00
jjgarcia
b979ad8b0b Changes in the names of macros related to fixnums, characters and arrays. 2001-10-11 17:44:57 +00:00
jjgarcia
b6fc855410 Bit fiddling functions (boolean, logand, logbit, etc) now work with negative bignums. 2001-08-01 16:47:19 +00:00
jjgarcia
afc2bd70d3 Make the code more portable with respect to changes on the direction of
growth of the stack and in the way va_arg() arguments can be accessed.
Fix the bytecodes compiler so that it handles toplevel forms properly and
so that it understands LOCALLY.
Split configure.in into configure.in+aclocal.m4 and improve the resulting
tests.
2001-07-27 17:01:28 +00:00
jjgarcia
0dc4df6002 Add a name mangler to "dpp" so that it translates symbol names as
@'si:symbol-name' @'other-symbol*' into the appropiate C name. All
symbol names and function names have been rewritten using this convention.
2001-07-02 17:11:28 +00:00
jjgarcia
2d8d0cd44b Initial revision 2001-06-26 17:14:44 +00:00