Commit graph

217 commits

Author SHA1 Message Date
jjgarcia
b1d6df4894 C-INLINE forms can now output multiple values 2005-03-15 14:21:42 +00:00
jjgarcia
4bd4b5a32a FLET/LABEL would not compile as toplevel forms because the value of *CURRENT-FUNCTION* is NIL for toplevel forms 2005-02-21 11:18:51 +00:00
jjgarcia
d0448f2f83 Allow #ifdef/#if/#define, etc, in the C-INLINE clauses 2005-02-17 12:41:38 +00:00
goffioul
379adefe5c Remove unneeded WIN32 flag. 2005-02-15 10:01:40 +00:00
jjgarcia
f8f04ff8c7 There are problems with code like
(lambda (&optional (n (some-form))) (mapcar #'(lambda (x) (+ x n)) ...))
because (i) we have to ensure that the variable N does not exist when SOME-FORM
is evaluated and (ii) the closure has to get the right lexical index for the
variable N. The previous fix broke the last invariant. This less efficient
code generator seems to solve this issue.
2005-02-14 11:06:52 +00:00
jjgarcia
06b3047b1d + Fixes in the code for backquoted vectors `#(,a ,b ...)
+ Fixes in the compiler code for CATCH and VALUES
+ Slight improvement in the readability of compiled CATCH
+ Implemented lisp hooks for cleaning on exit.
+ Improvements in the help messages from "configure"
2005-02-14 10:26:29 +00:00
jjgarcia
05bb9eccb4 Check the number of arguments for a C-INLINE form 2005-01-26 08:41:29 +00:00
jjgarcia
a2e2990440 Introducing sequence iterators. Fixes in the reader regarding *read-suppress* and reading of vectors. 2005-01-24 08:57:46 +00:00
jjgarcia
7305685ae2 Fix conflicts with external declarations when using the C++ compiler 2005-01-13 11:03:18 +00:00
jjgarcia
adc4a64a74 Wrong code produced for FOO in
(lambda (x)
      (flet ((foo (&rest y)
               (print x)
               (print y)))
        (foo x 1 2 3)
        (foo x 2 3)))
2005-01-11 18:22:12 +00:00
jjgarcia
172351b72f Fix typo 2005-01-11 18:04:59 +00:00
jjgarcia
e4aa8f5df0 Allow (SETF ...) function names to appear in proclamations 2005-01-11 17:43:34 +00:00
jjgarcia
3882176d59 Fixes to the scope of special variable declarations 2005-01-11 09:57:22 +00:00
jjgarcia
dd39b19a32 Fixes in various reader macros (#*, #(,#C)). Stream mode smm_closed disappears and closing of files preserves the original type of stream. Implemented METHOD-COMBINATION-ERROR, INVALID-METHOD-ERROR, option :ARGUMENT-PRECEDENCE-ORDER. In loop, iteration statements can now only appear before body statements, otherwise an error is signaled. A DEFTYPE form optional arguments have default value * 2005-01-10 09:41:06 +00:00
jjgarcia
ea7b544af3 Xmas fixes. See CHANGELOG for list of changes. 2005-01-07 11:51:23 +00:00
jjgarcia
5e5ab8c73b Fix exporting of functions under MSVC 2004-12-20 13:33:07 +00:00
jjgarcia
aaad2c184f Disable _ARGS() in external.h and use precise prototypes 2004-12-20 08:56:13 +00:00
jjgarcia
9fc98f14bd List all interesting functions created by the lisp->C compiler in external.h and leave the task of building function objects for these functions to all_symbols2.o 2004-12-20 08:50:35 +00:00
jjgarcia
9b19bc22c0 When the value of a LET* variable is a closure, the size of the lexical environment was not properly captured 2004-12-17 14:26:05 +00:00
jjgarcia
e4fa9f4e73 Merged in the new compiler structure doubly linked list. 2004-12-16 15:56:54 +00:00
jjgarcia
28eb58b9df Remove debugging statements. 2004-12-16 08:30:11 +00:00
jjgarcia
65b9d3ccc3 Delete additional files produced by the MSVC++ compiler (M.Goffioul) 2004-12-07 09:40:03 +00:00
jjgarcia
5727540f74 Allow self-destruction of DLLs under Microsoft Visual C++ 2004-12-06 16:33:35 +00:00
jjgarcia
848cb645cb Remove debugging statement 2004-12-03 17:27:42 +00:00
jjgarcia
339a8e1e51 Allow the user to supply its own INIT-NAME for shared libraries, normal libraries, programs, etc. 2004-12-02 16:49:02 +00:00
jjgarcia
27c98657f1 Complete support for UFFI (Michael Goffioul) 2004-11-29 13:13:03 +00:00
jjgarcia
1281dfb830 FFI Patches by M. Goffioul 2004-11-23 15:11:02 +00:00
jjgarcia
6b771da508 Compiler data structures print now unreadable, because they have too many circular dependencies that drive the printer crazy. 2004-11-23 15:08:04 +00:00
jjgarcia
c756aeb543 Discarded data is compiled with C2EXPR\* 2004-11-23 15:07:17 +00:00
jjgarcia
b35828886a Guess a good value of the directory for temporary files. 2004-11-23 14:59:28 +00:00
jjgarcia
1b87eaae01 Make the MSVC++ port relocatable, i.e. the installation path is not hardcoded in ECL. Also, suport for NSI under MSVC++. 2004-10-29 13:50:26 +00:00
jjgarcia
6b219625b5 Port to Microsoft VC++ by Goffioul Michael <goffioul@imec.be> 2004-10-25 16:34:20 +00:00
jjgarcia
cca49cd1c7 Removed attribute "noreturn" because GCC does not take into account the
possibility of longjmp into the function that called a noreturn function.
Simplified the FORMAT routine abstracting the operations on arguments,
so that they can be easily reimplemented when the type of stack changes.
FORMAT does no longer use the lisp stack, but builds lists of arguments.
2004-10-11 08:02:21 +00:00
jjgarcia
4250bf1081 *** empty log message *** 2004-10-04 11:10:19 +00:00
jjgarcia
a0417f0a88 Summer fixes 2004-10-04 08:02:39 +00:00
jjgarcia
a85c392142 Several fixes. Functions are now created only with C1COMPILE-FUNCTION. 2004-08-13 13:31:24 +00:00
jjgarcia
c910c2682e When there's no data, VV, compiler_data_text and compiler_data_text_size should not be used 2004-08-09 08:18:41 +00:00
jjgarcia
a14b12704b Make the compiler quieter 2004-08-02 08:22:03 +00:00
jjgarcia
d76a72edd9 Improve on previous fixes of the compiler error messages: everything now uses cmperr, cmpwarn and cmpnote 2004-07-08 11:55:24 +00:00
jjgarcia
611278c02b Decrease verbosity of the compiler 2004-07-07 18:05:24 +00:00
jjgarcia
566efa7c76 Windows does not like to have a quoted file name as first argument to system() 2004-06-24 07:50:00 +00:00
jjgarcia
58f1ef6e10 When invoking gcc, some of the pathnames might contain spaces. Enclose all pathnames in double-quotes to avoid problems. 2004-06-22 08:01:25 +00:00
jjgarcia
0c029b634b Remove verbosity from dllwrap. 2004-06-19 10:54:40 +00:00
jjgarcia
067a5fef5f The name of the compiler should not be fixed 2004-06-19 10:54:27 +00:00
jjgarcia
7a345f89ed Remove temporary files 2004-06-18 08:23:52 +00:00
jjgarcia
ce41ff78fd Support for DLL in Windows 2004-06-18 07:51:14 +00:00
jjgarcia
90fd78202c Only the entry point of a file which is component of a library or a module can get a prefix. 2004-06-13 08:53:18 +00:00
jjgarcia
da9a2697cf Do not use prefixes to name the entry points of libraries 2004-06-11 15:11:31 +00:00
jjgarcia
5f56a67a3e Changed the structure of the data in *LINKING-CALLS*. Now function objects are stored, together with C variable/function names. 2004-06-08 14:46:21 +00:00
jjgarcia
92a383e835 Explicit conversion to (void*) to keep g++ happy 2004-05-17 10:03:07 +00:00