Commit graph

592 commits

Author SHA1 Message Date
Juan Jose Garcia Ripoll
d966444f8d The compiler must use the standard readtable to not be affected by users's choice. 2009-06-22 12:24:02 +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
27dfba57f1 The list of generated constants is no longer just floats. 2009-06-19 11:24:53 +02:00
Juan Jose Garcia Ripoll
4d4bd1ed16 The compiler now also uses the cl_core.*_package constants 2009-06-19 11:24:01 +02:00
Juan Jose Garcia Ripoll
f312a7d051 The compiler can now access cl_core for other system wide constants. Currently applied to standard readtable only. 2009-06-19 11:20:30 +02:00
Juan Jose Garcia Ripoll
901aeaa81d The analysis for tail recursion was broken in the presence of a IHS frame. 2009-06-18 12:17:50 +02:00
Juan Jose Garcia Ripoll
601ea9c780 The closure environment is now passed via the Lisp environment, and not as an argument to the function. 2009-06-16 18:36:03 +02:00
Juan Jose Garcia Ripoll
aee567aeb2 Fixed the inline form of long-float constants in cmpct.lsp 2009-06-15 00:38:38 +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
f9b12dde02 Do not use Ct to fill a field in the cfun structure, for MSVC does not like it. 2009-06-12 22:08:17 +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
2282dd3e92 Implement debug information also for compiled LET/LET* 2009-06-08 20:03:02 +02:00
Juan Jose Garcia Ripoll
0eb4fcdf66 Produce debug information for arguments to compiled functions when DEBUG=3. 2009-06-08 18:56:29 +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
0e64e00539 Decrease verbosity 2009-06-08 11:37:32 +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
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
5008fdd45f Big patch for introducing NaNs and infinities. 2009-06-04 15:55:13 +02:00
Juan Jose Garcia Ripoll
df52c01a30 Changed order of libraries so that -lpthread appears after any kind of -lgc (detected or created by ECL). 2009-06-01 15:29:37 +02:00
Juan Jose Garcia Ripoll
9ed3b8d762 Remove the previous warning about the compiled file extensions 2009-05-18 10:45:59 +02:00
Juan Jose Garcia Ripoll
fa2cb50c1e Rewrite ENSURE-VALID-FILE-EXTENSION to allow the CONTINUE restart do what it should. Change the variable that rules the behavior to EXT::*UNKNOWN-FILE-TYPES* so that it can be set in ~/.eclrc without loading the compiler. 2009-05-17 13:29:33 +02:00
Juan Jose Garcia Ripoll
78d5ab27f1 The file types in *load-hooks* are strings, so we have to search with string= 2009-05-17 13:09:58 +02:00
Juan Jose Garcia Ripoll
ea55f580ec Fixed typo 2009-05-17 13:04:21 +02:00
Juan Jose Garcia Ripoll
400d00d619 More informative message when COMPILE-FILE gets passed an unknown output file type. 2009-05-17 13:02:03 +02:00
Juan Jose Garcia Ripoll
ba61e87926 Respect the user's choice of binary file extensions in COMPILE-FILE, allowing the registration of new file types when they are unknown to LOAD. 2009-05-17 12:39:52 +02:00
Juan Jose Garcia Ripoll
47d594912f Create two functions for writing comments in and out-of-line, and use them to write the compiled file header (compiler, date, etc). 2009-05-02 15:14:27 +02:00
Juan Jose Garcia Ripoll
38eea852ab Compiled files now carry some comments with the source they came from. 2009-05-02 14:39:01 +02:00
Samium Gromoff
4a5d2a691f Compiler input designation. 2009-05-02 10:12:23 +02:00
Samium Gromoff
0a841482dc SIMPLE-CONDITION's initarg is called :FORMAT-ARGUMENTS 2009-04-17 14:52:52 +02:00
Juan Jose Garcia Ripoll
0424caf763 Do not pass a location to CALL-UNKNOWN-GLOBAL when we do not have a function object. 2009-04-02 15:20:56 +02:00
Juan Jose Garcia Ripoll
989990e7e7 Wrong # of arguments to c2call-global in c2fset. 2009-04-02 15:20:56 +02:00
Juan Jose Garcia Ripoll
e2fe75e9c6 The code generated by cmpcbk.lsp passed a wrong # of arguments to ecl_apply_from_stack_frame(). 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
93d9283b91 Remove bogus inline expander for CHAR/SCHAR in sysfun.lsp 2009-03-31 11:02:47 +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
64f2670874 Remove function array declaration, which does not work in C++ 2009-03-28 23:06:53 +01:00
Juan Jose Garcia Ripoll
00892c7569 In wt-call, coerce directly to cl_object so that C++ compiler dos not complain. 2009-03-28 23:06:27 +01:00
Juan Jose Garcia Ripoll
a490be86fa Merge branch 'master' into new_cfun 2009-03-23 22:25:55 +01:00
Juan Jose Garcia Ripoll
7cf74b073b Remove debug statements 2009-03-23 22:17:27 +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
3835a482f8 Do not use closures to allow debugging c1let/c1let* 2009-03-23 20:09:42 +01:00
Juan Jose Garcia Ripoll
1c214bf454 Inline MAKE-ARRAY in terms of MAKE-PURE-ARRAY and FILL-ARRAY-WITH-ELT/SEQ, and output the array type. 2009-03-07 11:53:06 +01:00
Juan Jose Garcia Ripoll
acda56e602 Export C name for FILL-ARRAY-WITH-SEQ 2009-03-07 11:52:31 +01:00
Juan Jose Garcia Ripoll
d4c9460c32 Fix the criteria for using inlined expansions from sysfun.lsp. 2009-03-06 23:51:17 +01:00
Juan Jose Garcia Ripoll
d9919fa312 Ignore TYPE declarations that contain a function type, even if it is a DEFTYPE'd one. 2009-02-27 20:05:40 +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
8fe85d2e7c Introduce ECL_STACK_INDEX macro 2009-02-25 19:11:28 +01:00
Juan Jose Garcia Ripoll
16849b5eb3 In C++ it is not possible to forward-declare a static array. We thus have to change the code for building the compiler_cfuns[] array in compiled code. 2009-02-23 14:13:53 +01:00
Juan Jose Garcia Ripoll
21747e54da Missing definition for cl_env_copy. 2009-02-23 11:58:14 +01:00