Commit graph

464 commits

Author SHA1 Message Date
jjgarcia
2bb0c1b443 Fix missing let binding (Josh Elsasser) 2008-09-01 19:09:05 +00:00
jjgarcia
a710a355f5 Do not ignore inline/not-inline declarations for SETF-functions 2008-09-01 19:08:40 +00:00
jjgarcia
e86c6ec83d Teach the compiler how to coerce (unsigned-)short 2008-08-28 09:13:27 +00:00
jjgarcia
b2e788064c PROCLAIM/DECLAIM understand user-defined and complex types in declarations 2008-08-26 20:35:28 +00:00
jjgarcia
c9e33f00e8 COMPILER-UNDEFINED-VARIABLE has to be of type STYLE-WARNING 2008-08-24 00:12:20 +00:00
jjgarcia
ac26fca899 Only three variables *COMPILE-PRINT*, *COMPILE-VERBOSE* and *SUPPRESS-COMPILER-MESSAGES* to govern information printed by COMPILE-FILE/COMPILE 2008-08-21 19:44:47 +00:00
jjgarcia
f537156979 WITH-COMPILATION-UNIT is no longer needed to trap compiler conditions. Compiler now also traps internal errors and prints all errors more beautifully. 2008-08-21 09:53:04 +00:00
jjgarcia
9c07ecd852 Improved compiler handler example and processed the undefined-variable as warning 2008-08-20 20:53:55 +00:00
jjgarcia
866cba66d7 Implemented hooks for users to trap compiler conditions, based on WITH-COMPILATION-UNIT 2008-08-20 20:47:33 +00:00
jjgarcia
d25466375a Show form and file position when printing compiler notes, warnings and errors 2008-08-19 22:53:00 +00:00
jjgarcia
ef7f2dd39a Implemented compiler conditions 2008-08-19 21:58:37 +00:00
jjgarcia
0bceff2ff6 The optimizer for COERCE may enter an infinite loop with integer ranges 2008-08-19 10:27:50 +00:00
jjgarcia
7c2f63ea47 In miwng32, replace dllwrap with gcc -shared 2008-08-04 20:57:51 +00:00
jjgarcia
a34a91df3a One more use of dllwrap had to be made quieter. 2008-08-04 18:07:16 +00:00
jjgarcia
310297e884 Make dllwrap quieter. 2008-08-04 17:55:14 +00:00
jjgarcia
2ef8b05d4b Added support for long double types in the compiler 2008-08-02 18:30:48 +00:00
jjgarcia
2872c6252d Improved computation of closures 2008-08-02 15:23:25 +00:00
jjgarcia
1e7967d0d9 Added a feature to identify we have PDE registration and update *source-location* when reading a file to be compiled 2008-07-12 16:55:07 +00:00
jjgarcia
6c788d733e Fixed the order in which MAKE-LOAD-FORM statements are compiled 2008-07-11 15:08:28 +00:00
jjgarcia
04268a5a51 Speed up calling unknown functions by having a local frame that we reuse 2008-06-29 00:32:48 +00:00
jjgarcia
064df295ac Fixed typo 2008-06-28 18:14:55 +00:00
jjgarcia
1813aa8e6c Reuse code for long function calls 2008-06-28 18:14:00 +00:00
jjgarcia
a7465e94ba Fixed optimization of MAPL and MAPC: output value was wrong. 2008-06-23 20:39:26 +00:00
jjgarcia
c1f08a04e6 Removed global environment field cl_env.lex_env 2008-06-19 14:59:11 +00:00
jjgarcia
70c30b8ef9 In compile-file, ensure that :output-file is appended the proper file extension 2008-05-30 23:55:54 +00:00
jjgarcia
abec6e581f Stronger hashing for C files initialization names 2008-05-30 23:52:16 +00:00
jjgarcia
c5279d417b Fixed optimizer to work with Unicode 2008-05-30 12:39:31 +00:00
jjgarcia
6bfa233bc3 Reorganize TAGBODY and PROGN so that unused statements can be eliminated. 2008-05-30 12:28:29 +00:00
jjgarcia
e65c87b85a The optimizer for COERCE now uses specialized functions for sequence types instead of open coding it every time. 2008-05-29 06:50:10 +00:00
jjgarcia
2e100452ce Implemented an optimizer for COERCE and improved the one for TYPEP, which did not handle sequence types. 2008-05-29 06:49:49 +00:00
jjgarcia
d5d76014a3 MAKE-SEQUENCE and associated functions used SUBTYPEP at least once. We now avoid that call. 2008-05-29 06:47:57 +00:00
jgarcia
fda336d9b6 COMPILE-FILE detects and aborts when errors happen in cmp-eval or cmp-macroexpand 2008-05-19 17:40:51 +00:00
jgarcia
dbee5bf9f9 The temporary destination is a function of the _final_ destination, not of the origin of the value. 2008-05-19 10:48:28 +00:00
jgarcia
b213c88975 When system-p is T, the default is :object, not :fasl. 2008-05-19 09:25:49 +00:00
jgarcia
8f28327ddf Simplifed MAKE-ARRAY. Deactivated the old garbage collector. New optimizers for MAKE-ARRAY and VECTOR-PUSH*. Declarations are now held in *cmp-env* instead of in global variables. 2008-05-18 20:08:39 +00:00
jgarcia
005dc615e8 Fix ffi to work with new call stacks 2008-05-14 08:14:26 +00:00
jgarcia
a041995cd2 Fixed optimizations for SCHAR so that they also work with Unicode strings 2008-05-14 07:50:12 +00:00
jgarcia
6c534e28ba Compare function names using EQUAL not EQ. 2008-05-13 15:14:08 +00:00
jgarcia
73cc02b14a The compiler function C1BODY no longer simplifies types in type declarations, but keeps the information so that OPTIONAL-CHECK-TYPE can use it. 2008-05-12 08:18:43 +00:00
jgarcia
4e46efac3f Automatically generate type checks for arguments of a lambda form if the safety settings are high enough 2008-05-12 08:16:44 +00:00
jgarcia
f5d2137452 Make cmp-env-optimization a macro again 2008-05-12 08:16:04 +00:00
jgarcia
4b753ce2e7 In the compiler, let the macro DOLIST generate better type declarations 2008-05-12 08:14:52 +00:00
jgarcia
bd09f93e3c Modify call frames to keep pointers and let cl_funcall() share frames among calls 2008-05-12 08:11:37 +00:00
jgarcia
f3b1febf4e Merged in changes from sealed_slot branch 2008-05-09 09:48:29 +00:00
jgarcia
76479f7686 Honor the *COMPILE-VERBOSE* flag also in C:BUILDER 2008-05-09 07:47:22 +00:00
jgarcia
14c3b6bdae Some more fixes for windows 2008-05-06 07:48:32 +00:00
jgarcia
16abf39c23 CAR/CDR is no longer a valid left hand side for a C expression 2008-05-05 12:49:46 +00:00
jgarcia
8800b254f5 Committed the changes to implement small conses 2008-04-30 14:24:20 +00:00
jgarcia
504fe5df73 LOAD-TIME-VALUE is no longer a macro 2008-04-24 11:15:34 +00:00
jgarcia
284ceaf244 Bytecode compiled functions can now be externalized in C compiled files 2008-04-22 13:43:03 +00:00