Commit graph

605 commits

Author SHA1 Message Date
Juan Jose Garcia Ripoll
70a281909a Protect sysfun.lsp from a nasty user that changes the readtable. 2009-07-02 00:13:21 +02:00
Juan Jose Garcia Ripoll
8d06d5b7fa Fix yet another typo in cmpwt.lsp. 2009-07-01 14:02:32 +02:00
Juan Jose Garcia Ripoll
79d6eb5873 Fix typo in previous patch 2009-07-01 13:57:02 +02:00
Juan Jose Garcia Ripoll
1f0289c5c6 cmpwt.lsp would add one extra space after every statically generated string constant. 2009-07-01 13:55:18 +02:00
Juan Jose Garcia Ripoll
a5d610105a Replace #' with ' to allow tracing the compiler handlers for different special forms (cmptop.lsp) 2009-06-29 14:41:34 +02:00
Juan Jose Garcia Ripoll
f4b6162dbf Remove an annoying compiler note 2009-06-26 17:27:48 +02:00
Juan Jose Garcia Ripoll
d1fc852e15 File positions and forms were not recorded for c1forms created with make-c1form*. Use that information during the c2 phase 2009-06-25 23:31:09 +02:00
Juan Jose Garcia Ripoll
0fa3d1651f The routine compiler-output-values and compile-file still thought that compiler-error < error and that compilation process could not be aborted. 2009-06-25 23:14:51 +02:00
Juan Jose Garcia Ripoll
f7fb503b0c Errors in evaluation and macroexpansion are intercepted by the compiler and re-signaled as compiler errors. 2009-06-25 23:03:31 +02:00
Juan Jose Garcia Ripoll
609ba59ffe Syntax errors in lambda list are intercepted and resignaled as compiler errors (cmplam.lsp) 2009-06-25 23:03:01 +02:00
Juan Jose Garcia Ripoll
53d79a8636 Changed the compiler errors hierarchy, so that they are not serious-conditions and do not launch the debugger, and also changed the handlers so that they better honor outer-established handlers first. 2009-06-25 15:54:48 +02:00
Juan Jose Garcia Ripoll
d73d12ae35 Replaced some calls to ERROR with CMPERR so that they can be trapped by the user. Changed the implementation of WITH-COMPILER-ENV to avoid that all COMPILER-ERRORs are re-signaled as compiler internal errors. 2009-06-25 11:01:41 +02:00
Juan Jose Garcia Ripoll
e8de79cac5 ECL now has two sets of reader/printer settings, si:+io-syntax-progv-list+ and si:+ecl-syntax-progv-list+. The latter is used both by the compiler and by the FASL file loader, and allows for lest interference from the user side -- i.e. it is not affected by changes in the readtable, such as case preservation, etc. 2009-06-22 13:00:18 +02:00
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