Commit graph

519 commits

Author SHA1 Message Date
Juan Jose Garcia Ripoll
1531a8b36e Move the definition of _XOPEN_SOURCE out of ecl.h so that we can use MAP_ANON. 2009-07-02 17:55:56 +02:00
Juan Jose Garcia Ripoll
2501807b2d Remove unused macro definitions. 2009-07-02 10:31:29 +02:00
Juan Jose Garcia Ripoll
1b98007713 ECL no longer uses non portable pthreads attributes (*_NP), moving to the standard names also in Linux. Threads are created in a detached state to avoid leaking resources (M. Mondor). Thread and mutex attributes are created only once (M. Mondor). 2009-07-02 10:29:20 +02:00
Juan Jose Garcia Ripoll
0bf0cfbbae Factor out the guts of PROGV into a function ecl_progv() shared by the interpreter and the compiler. 2009-06-19 14:49:29 +02:00
Juan Jose Garcia Ripoll
0e89f235c4 Implement read-only readtables to avoid copying the standard readtable when this value is requested. 2009-06-19 11:12:49 +02:00
Juan Jose Garcia Ripoll
59a967985e si_get_library_pathname does two new things:
1) it saves the value it computes.
  2) it verifies with probe-file that the directory exists.
If this is not the case ECL must abort.
2009-06-17 23:29:47 +02:00
Juan Jose Garcia Ripoll
49e96af5fb ecl_deliver_fpe() was declared static 2009-06-15 16:54:15 +02:00
Juan Jose Garcia Ripoll
eb864ae55a On platforms where it is not possible to trap FPE, explicitely check the status of the exceptions around basic operations (sin, cos, exp, etc). 2009-06-14 21:06:20 +02:00
Juan Jose Garcia Ripoll
a8c8306167 Some configuration flags were not installed in config.h and thus compiled code and the library saw a different structure for cl_core. 2009-06-14 19:09:35 +02:00
Juan Jose Garcia Ripoll
0b0e026664 Create constants in cl_core for variants of -0.0 and use them in compiled code. IMAGPART now produces signed zeros for negative real numbers. 2009-06-14 11:48:04 +02:00
Juan Jose Garcia Ripoll
13763bae70 Implement sign comparisons using signbit(), which defaults to (x==y) where it is not available. Since floats may have extra unused bits (long double), we cannot implement eql using bit comparisons 2009-06-13 22:50:28 +02:00
Juan Jose Garcia Ripoll
d35eb63139 Let ECL record source file positions instead of form numbers. 2009-06-10 11:52:42 +02:00
Juan Jose Garcia Ripoll
8c0314022c Added support for new kind of break environment that will be needed to debug C-compiled code. 2009-06-08 11:49:19 +02:00
Juan Jose Garcia Ripoll
d169863877 The compiler can now generate some Lisp constants as static C expressions (based on patches by JC Beaudoin) 2009-06-07 18:18:27 +02:00
Juan Jose Garcia Ripoll
747652ed34 Compiled functions now carry information about their source file (based on code by JC Beaudoin) 2009-06-07 14:24:49 +02:00
Juan Jose Garcia Ripoll
f682dda3f4 Functions can now carry information about the source file and its position. 2009-06-07 01:14:16 +02:00
Juan Jose Garcia Ripoll
a671b57160 Some functions got new names: ecl_make_cfun, ecl_make_cfun_va, ecl_make_cclosure_va, ecl_def_c_function, ecl_def_c_function_va. 2009-06-07 00:32:33 +02:00
Juan Jose Garcia Ripoll
77cde5c2f8 Several fixes for various compiler warnings. 2009-06-07 00:02:49 +02:00
Juan Jose Garcia Ripoll
c6f88f754a Allow the user to change the signal number which is used for thread communication. 2009-06-06 22:10:01 +02:00
Juan Jose Garcia Ripoll
5008fdd45f Big patch for introducing NaNs and infinities. 2009-06-04 15:55:13 +02:00
Juan Jose Garcia Ripoll
f85eb932cc Avoid race conditions and data loss between the creation of a process and the actual thread being started. 2009-06-01 16:41:22 +02:00
Juan Jose Garcia Ripoll
b17e932972 Added support for the floating point exception FE_INVALID, which is signalled when trying to do 0/0 or sqrt(-1) (A. Gavrilov) 2009-06-01 14:44:11 +02:00
Juan Jose Garcia Ripoll
9a40202940 Missing newline character breaks generation of config.h 2009-05-21 15:12:38 +02:00
Juan Jose Garcia Ripoll
2c8690bf58 Out of memory errors are now somewhat restartable. 2009-05-20 22:03:58 +02:00
Juan Jose Garcia Ripoll
42fdda5e1c Whenever isfinite is not defined, use finite(). Additionally, in Solaris, load ieefp.h before using this macro. 2009-05-20 19:29:16 +02:00
Juan Jose Garcia Ripoll
cd04aa7d21 Set the value of cs_limit in units of bytes, not sizeof(int). Add to EXT:SET-LIMIT the ability to set the heap size 2009-05-19 23:53:52 +02:00
Juan Jose Garcia Ripoll
9d86366662 The mechanism for detectin uint32_t and relatives is extended now to uint8_t. This solves a problem with Solaris, which _now_ provides complete stdint/inttypes.h headers. Version upgraded to 9.5. 2009-05-17 11:26:34 +02:00
Samium Gromoff
da102ce9bd Unprotected allocation. 2009-04-23 22:07:27 +02:00
Juan Jose Garcia Ripoll
9cb8b443a9 The gcc __thread extension does not work in OpenBSD. 2009-04-03 11:05:17 +02:00
Juan Jose Garcia Ripoll
4359ec5e38 Use r+b instead of w+b so that we do not truncate files. 2009-04-02 15:20:56 +02:00
Juan Jose Garcia Ripoll
5e39337e0e Remove debug statement. 2009-04-02 15:20:54 +02:00
Juan Jose Garcia Ripoll
005dc07061 Added the possibility of bytecompiling forms and saving them. New module bytecmp uses this to implement COMPILE and COMPILE-FILE. 2009-04-01 02:29:48 +02:00
Juan Jose Garcia Ripoll
ecf055bc5a Fixes for the Windows port, including a flag to make ANSI C streams the default file type. 2009-03-30 14:42:16 +02:00
Juan Jose Garcia Ripoll
e369a5a3d7 Fixed typo in x64 version of ECL_STACK_FRAME_FROM_VA_LIST 2009-03-28 23:40:52 +01:00
Juan Jose Garcia Ripoll
c2a98781ae Update MSVC configuration header 2009-03-23 23:27:25 +01:00
Juan Jose Garcia Ripoll
b62f153ed3 Merge in the latest changes from master branch 2009-03-23 21:51:32 +01:00
Juan Jose Garcia Ripoll
0a4ae4ebd2 New functions FILL-ARRAY-WITH-ELT and FILL-ARRAY-WITH-SEQ used to inline MAKE-ARRAY and to speed it up. 2009-03-07 11:51:29 +01:00
Juan Jose Garcia Ripoll
e282487f0d Added support for long long and unsigned long, and [u]intN_t in the FFI. 2009-03-02 23:56:39 +01:00
Juan Jose Garcia Ripoll
0490d915be Just in case we get more than 64 bit words 2009-03-01 23:19:26 +01:00
Juan Jose Garcia Ripoll
ba9540e220 New specialized array types for 16, 32 and 64 bits large integers 2009-03-01 20:36:08 +01:00
Juan Jose Garcia Ripoll
e16ff91913 Detect and provide conversion routines for C specialized integer types ([u]int{8,16,32,64}_t) 2009-03-01 15:41:36 +01:00
Juan Jose Garcia Ripoll
529e12a1ed Replaced some stack frame functions by internal and faster macros. 2009-02-28 13:14:41 +01:00
Juan Jose Garcia Ripoll
d71a16daac Remove an unused argument from ecl_interpret() 2009-02-26 00:14:07 +01:00
Juan Jose Garcia Ripoll
9ea37f0266 ecl_stack_pop_n is no longer used. Simplified different parts of the stack frames and interpreter. 2009-02-25 23:51:35 +01:00
Juan Jose Garcia Ripoll
4ce5ca13ec Removed unused declaration. 2009-02-25 20:53:49 +01:00
Juan Jose Garcia Ripoll
22b070d0ac Removed ecl_stack_{push,pop,set_index}. Fixed ECL_STACK_SET_INDEX. 2009-02-25 20:52:48 +01:00
Juan Jose Garcia Ripoll
4ffa8552ae The ECL_STACK* macros were not hygienic and caused problems due to the duplication of the 'env' name. 2009-02-25 20:15:33 +01:00
Juan Jose Garcia Ripoll
8fe85d2e7c Introduce ECL_STACK_INDEX macro 2009-02-25 19:11:28 +01:00
Juan Jose Garcia Ripoll
80127a2f01 Exported macros for manipulating the lisp stack 2009-02-24 23:23:57 +01:00
Juan Jose Garcia Ripoll
402e59f82f New decimal constants ECL_VERSION_NUMBER (C/C++) and EXT:+ECL-VERSION-NUMBER+ (Lisp) 2009-02-23 21:45:02 +01:00