Commit graph

669 commits

Author SHA1 Message Date
Juan Jose Garcia Ripoll
ca6198d753 Reimplement with-lock so that it is interrupt-safe. 2009-09-04 23:12:36 +02:00
Juan Jose Garcia Ripoll
4a3349a9f2 Implemented weak pointers. 2009-09-03 16:54:25 +02:00
Juan Jose Garcia Ripoll
e434ebc3aa cmpmain.lsp: ensure that MKSTEMP did not fail or otherwise print a meaningful message 2009-08-31 15:23:10 +02:00
Juan Jose Garcia Ripoll
95ac61115c ECL was still using the deprecated c_string_to_object 2009-08-29 10:53:54 +02:00
Juan Jose Garcia Ripoll
900b20c75f The inline form for SQRT was used even for boxed values. 2009-08-12 11:56:23 +02:00
Juan Jose Garcia Ripoll
6496d98d23 There was still one place in C:BUNDLE-CC where command line arguments were not surrounded by double quotes - this caused problems when the output file had spaces. 2009-08-12 10:25:45 +02:00
Juan Jose Garcia Ripoll
085a5a4388 Implement a new configuration flag, --enable-rpath. 2009-08-10 23:23:16 +02:00
Juan Jose Garcia Ripoll
f33a082b14 Fixed a bug in the compiler expansion of COS, SIN and TAN. 2009-08-10 16:56:05 +02:00
Juan Jose Garcia Ripoll
3b412f3b3a Relax coercion errors. Sometimes lousy programmers just leave code branches that are
not going to be executed and will cause the wrong type.
2009-08-04 19:28:44 +02:00
Juan Jose Garcia Ripoll
e3f42a5c49 Make ECL less verbose in its messages, eliminating certain notes and the note context when this is too imprecise. 2009-08-04 11:22:45 +02:00
Juan Jose Garcia Ripoll
f2625c0330 Changed SI:SAFE-EVAL so that when a third value is supplied, it does not set up a condition handler. 2009-08-03 22:11:49 +02:00
Juan Jose Garcia Ripoll
185cc872f1 Removed reference to ecl_elt_unsafe() which is no longer defined. 2009-08-03 19:41:53 +02:00
Juan Jose Garcia Ripoll
7195468eec Completed the implementation of SI:SAFE-EVAL and SI:STRING-TO-OBJECT 2009-07-31 23:16:03 +02:00
Juan Jose Garcia Ripoll
c794d20f30 The constants used in COMPILE are now assigned in read_VV, not in the compiled code. 2009-07-27 21:37:51 +02:00
Juan Jose Garcia Ripoll
c8b87cb180 Inline expanders for array-has-fill-pointer-p and adjustable-array-p 2009-07-26 12:38:50 +02:00
Juan Jose Garcia Ripoll
5aff005c35 Do not create varargs C variable when it is not used. 2009-07-26 12:38:31 +02:00
Juan Jose Garcia Ripoll
92d5aac5eb We cannot build MSVC with debug information on variables because the compiler does not allow us to statically initialize arrays/vectors of the ecl_array/ecl_vector type 2009-07-24 20:26:09 +02:00
Juan Jose Garcia Ripoll
a0f06986b1 Fixed error in proclamation of si:get-sysprop. 2009-07-24 20:12:28 +02:00
Juan Jose Garcia Ripoll
7a08ed15ab We cannot build statically allocated arrays with the Microsoft compiler. 2009-07-24 19:55:57 +02:00
Juan Jose Garcia Ripoll
efc4505d58 The ld-format variable can not use tilde-question-mark format because the remaining linker options may contain tildes (happens in Windows) and be misunderstood as format commands 2009-07-24 15:58:45 +02:00
Juan Jose Garcia Ripoll
69725f20c6 The compiler now emits more accurate conversions from and to C types using the new functions (See CHANGELOG for the problem solved) 2009-07-15 15:19:43 +02:00
Juan Jose Garcia Ripoll
bfb6e2cef7 Remove debug statement 2009-07-13 23:49:26 +02:00
Juan Jose Garcia Ripoll
55eeb0e955 Remove debug statement 2009-07-13 23:48:52 +02:00
Juan Jose Garcia Ripoll
99cdc4dae7 CALL-GLOBAL-LOC used the values type of a c1form instead of the primary type and thus no safe inline form from sysfun.lsp matched any reasonable expansion. 2009-07-13 12:06:01 +02:00
Juan Jose Garcia Ripoll
c8118dd93c The utility functions for ENSURE-*-TYPE returned the argument type in the third and not in the second value (cmpnum.lsp) 2009-07-13 11:48:49 +02:00
Juan Jose Garcia Ripoll
f80bb43e28 In the type propagator for ISQRT, remove the circular reader forms. 2009-07-12 23:52:59 +02:00
Juan Jose Garcia Ripoll
eb4b073e8b CIS, ASIN, ACOS, ASINH, ACOSH and ATANH now use the calling convention for functions with a fixed number of arguments 2009-07-12 23:47:24 +02:00
Juan Jose Garcia Ripoll
f5c03a9638 Fixed a couple of typos in the new type propagations for special functions 2009-07-12 23:46:45 +02:00
Juan Jose Garcia Ripoll
88498d35f5 Type propagators now work with type names, not with C1FORMS (More general and will allow caching in the future). Implemented type propagators for COS, SIN, TAN, COSH, SINH, TANH, ATAN, SQRT, ABS, ISQRT, LOG, EXP, EXPT. 2009-07-12 20:16:23 +02:00
Juan Jose Garcia Ripoll
2657f3b9d0 Added proclamation for CIS. Made proclamation of LOG and ATAN more precise. 2009-07-12 20:14:16 +02:00
Juan Jose Garcia Ripoll
65635f1452 Minor read-only annotations in cmpopt.lsp 2009-07-09 23:31:50 +02:00
Juan Jose Garcia Ripoll
7e694a08fd Invalid inline expansion for SCHAR. 2009-07-09 11:00:24 +02:00
Juan Jose Garcia Ripoll
d2e864e74a Allow c-inline, one-liner forms to output values in the VALUES register. 2009-07-09 10:36:01 +02:00
Juan Jose Garcia Ripoll
a57cb9e32a Deactivate a debug statement in type-and 2009-07-09 10:35:27 +02:00
Juan Jose Garcia Ripoll
03afa98d41 Since not always the compiler macros are applied, we are forced to have type propagators that handle the 1, 2 and more argument cases for +, *, / and -. 2009-07-08 23:03:13 +02:00
Juan Jose Garcia Ripoll
759fa298ab Remove a debug assertion. 2009-07-08 23:02:34 +02:00
Juan Jose Garcia Ripoll
1f83e389fb Fixed typos in the inline expanders for two-argument versions of CEILING TRUNCATE and ROUND. 2009-07-08 22:30:45 +02:00
Juan Jose Garcia Ripoll
5178118517 Added new inline expansions for MOD and REM with generic arguments. 2009-07-08 21:44:44 +02:00
Juan Jose Garcia Ripoll
6b936383c3 More fixes to the analysis of code branches in p1tagbody and similar functions. p1let and p1let* now optimize the type of the variable based on the generated assumptions. 2009-07-08 21:33:22 +02:00
Juan Jose Garcia Ripoll
9e5bfb3aa7 Fixed computation of a the values list from a values type: &optional and &rest types must result in an or-type between NULL and the denoted type. 2009-07-08 21:32:33 +02:00
Juan Jose Garcia Ripoll
b3b61b59b2 At several places in the compiler only the primary type of an expression was needed, but we retrieved the full values type. 2009-07-08 21:31:20 +02:00
Juan Jose Garcia Ripoll
a4599f13af Removed a broken inline expansion for #'/ 2009-07-08 21:29:35 +02:00
Juan Jose Garcia Ripoll
4303ea8572 The routine VALUES-TYPE-PRIMARY-TYPE did not extract any value from VALUES types 2009-07-08 13:33:20 +02:00
Juan Jose Garcia Ripoll
2838b1042b Implemented type propagation for MULTIPLE-VALUE-SETQ 2009-07-08 11:16:42 +02:00
Juan Jose Garcia Ripoll
cf61dbe4cb Implemented type propagation for MULTIPLE-VALUE-BIND 2009-07-08 11:15:25 +02:00
Juan Jose Garcia Ripoll
c63786e396 Function to extract the output values of a function that returns more than one value 2009-07-08 11:15:09 +02:00
Juan Jose Garcia Ripoll
49357b1d9b Do not simplify the function type proclamations, specially now that we can handle VALUES types. 2009-07-08 11:14:44 +02:00
Juan Jose Garcia Ripoll
6f9d335302 In cmpnum.lsp, MAXIMUM-NUMBER-TYPE outputs the minimum, not the maximum type. 2009-07-08 11:11:46 +02:00
Juan Jose Garcia Ripoll
6884850535 Added type information for EXPT 2009-07-08 10:48:56 +02:00
Juan Jose Garcia Ripoll
ad6a35f9e3 Implemented type propagation for *, +, - and / 2009-07-08 10:48:30 +02:00