- May 10, 2004
- Apr 06, 2004
-
-
rtoy authored
cmucl-imp: The patch below adds a somewhat general mechanism to the get the "current location". So every macro that wants to record the source location, can insert a call to SOURCE-LOCATION in the generated code and safe the result in a appropriate place. SOURCE-LOCATION is a compiler-macro and returns a quoted struct with the source info. The patch adds the definition for SOURCE-LOCATION some modifications for the defclass, defgeneric and defmethod macros. Classes, generic functions and methods have already a "source" slot and the result of SOURCE-LOCATION is just stored into that slot. (The source slot contains currently only the *loadpath*, which is is not very useful, if the fasl file is in a different directory than the source file.)
-
- Jan 16, 2004
-
-
toy authored
-
- Dec 02, 2003
-
-
toy authored
previously. Allow them.
-
- Aug 11, 2003
-
-
gerd authored
frob bytes-consed-between-gcs. * src/compiler/alloc.lisp (defallocators) [#+gencgc]: Definition that doesn't do resourcing.
-
- Jul 15, 2003
-
-
emarsden authored
(let ((ext:*byte-compile-default* t)) (compile-file-pathname "foo.lisp")) was returning #p"foo.x86f", when it should return #p"foo.lbytef".
-
- May 12, 2003
-
-
emarsden authored
Add package locks. Bootfile boot8.lisp allows this to build without a cross-compile (or just select the CLOBBER-IT restart). - two extra PACKAGE-LOCK and PACKAGE-DEFINITION-LOCK slots added to the package structure. These can be modified using the EXT:PACKAGE-LOCK and EXT:PACKAGE-DEFINITION-LOCK accessors. - macro EXT:WITHOUT-PACKAGE-LOCKS that evaluates forms with all package locks disabled (this is done by binding the global variable CL::*ENABLE-PACKAGE-LOCKED-ERRORS*) - new PACKAGE-LOCKED-ERROR condition - in SETF-FDEFINITION-HOOK and in the DEFMACRO, DEFSTRUCT, DEFTYPE and DEFCLASS defining forms, check whether the definition would modify a package whose definition-lock is enabled, and signal a package-locked-error condition with restarts that allow you to unlock the package or ignore the lock - in EXPORT, UNEXPORT etc check whether the target package is guarded by a package-lock, and signal an error - disable package locks when loading a subsystem - disable package locks in certain areas of PCL and in the MAKE-LOAD-FORM support of the compiler, where code is generated inside system packages at runtime
-
- Apr 11, 2003
-
-
emarsden authored
lexical environment to take into account generalized function names, and in particular inline declarations for FLET or LABELS functions. New function called FUNCTION-NAME-EQV-P that knows that a name like (FLET INNER OUTER) is equivalent to a name like INNER. * Include any context information in undefined-function warnings. Forms like (defun bogus (x) (declare (ftype (function (t) *) no-ftype)) (flet ((foo (x) (random (1+ x)))) (declare (inline almost-foo)) (foo (+ x 1)))) will now generate warnings of the form Warning: Undefined function almost-foo in an inline or notinline declaration Warning: Undefined function no-ftype in a function type declaration
-
- Mar 31, 2003
-
-
gerd authored
* compiler/ir1tran.lisp (*current-function-names*): New variable. (find-lexically-apparent-function): Use lexenv-find-function. (ir1-convert): Likewise. (ir1-convert-lambda): Bind *current-function-names*. (do-macrolet-stuff): Likewise. (extract-flet-variables): Determine function name from (%cleanup-function): Use lexenv-find-function. * compiler/main.lisp (compile): Bind *current-function-names*. * compiler/macros.lisp (lexenv-find-function): New function. * code/fdefinition.lisp (flet, labels): Define function names. * pcl/walk.lisp (environment-function): Activate code for handling flet/labels function names.
-
- Feb 05, 2003
-
-
emarsden authored
The new XREF package exports function WHO-CALLS, WHO-REFERENCES, WHO-BINDS and WHO-SETS. These return structures of type XREF-CONTEXT, which contain the name of the referencing context, the file it was referenced from (or NIL when compiling from the toplevel), and the source-position in that file. Also change the names of lambda nodes in IR1 for macros and compiler-macros to be lists of the form (:macro macro-name) (:compiler-macro macro-name) instead of strings of the form "DEFMACRO MACRO-NAME". Documentation has been added to the User's Manual. This change shouldn't cause any bootstrapping problems when building.
-
- Jan 21, 2003
-
-
toy authored
From a recent thread on comp.lang.lisp, it seems that CMUCL is non conforming in the way that it handles the coalescing of constants in the functions EVAL and COMPILE: Literal objects appearing in code processed by the compile function are neither copied nor coalesced. The code resulting from the execution of compile references objects that are eql to the corresponding objects in the source code.
-
- Jan 06, 2003
-
-
toy authored
have the semi-colon prefix.
-
- Nov 19, 2002
-
-
toy authored
the output file when the output file didn't specify the type. Based on a suggestion from Marco Antoniotti. o Some clean up of the testing of the files.
-
- Nov 14, 2002
-
-
toy authored
The attached patch contains mostly trivial changes, including a few spelling corrections, plus changes to the types of condition raised in various cases. The only significant change, I believe, is - MAKE-DISPATCH-MACRO-CHARACTER no longer raises an error if the character already was defined to be a macro character; it overrides the previous definition (as per a suggestion from Drew McDermott on cmucl-help, dated 2002-09-22).
-
- Aug 25, 2002
-
-
toy authored
pathname. Make it so.
-
- Aug 12, 2002
-
-
toy authored
Rhodes): * When you load or execute code that didn't compile correctly, you should get a PROGRAM-ERROR rather than a generic ERROR.
-
- Aug 09, 2002
-
-
toy authored
output-file name by merging the input-file name and the supplied output-file name. Minor modifications by RLT.
-
- Mar 07, 2002
-
-
pw authored
Based on a patch by Eric Marsden.
-
- May 17, 2001
-
-
pw authored
so that someone who goes through the trouble of defining a translation for *.FASL will get a good result.
-
- Mar 13, 2001
-
-
pw authored
-
- Mar 04, 2001
-
-
pw authored
-
- Mar 01, 2001
-
-
pw authored
-
- Aug 09, 2000
-
-
dtc authored
ir1-phases, avoiding bootstrapping issues.
-
dtc authored
propagation a chance before transforming to less amiable forms. A transform may now choose to be delayed by calling delay-transform giving a reason. The two supported reasons are :optimize to delay until IR1 optimization has completed, and :constraint to delay until after constraint propagation.
-
- May 23, 2000
-
-
dtc authored
so that the package definition is not delayed; fixes a problem noted by Sam Steingold.
-
- Apr 06, 2000
-
-
pw authored
incorrect in that the observed problem was caused by inappropriate condition types in other places (at least partly fixed by revisions to ir1tran and ir1util on 2/28/00).
-
- Apr 05, 2000
-
-
pw authored
error-severity. From Pierre Mai via Ray Toy.
-
- Nov 25, 1999
-
-
dtc authored
the global special *elsewhere-label* by dynamically binding *elsewhere-label* in native-compile-component, otherwise label-elsewhere-p breaks if code generation is reentered while code dumping is still in progress.
-
dtc authored
global tables and counters for the continuation, TN, and label debug IDs; rather dynamically bind new tables and counters in the functions compiler and sub-compiler-file with the aid of the new macro with-debug-counters.
-
dtc authored
the following global tables for compiler debug code by dynamically binding newly allocated tables when necessary: *seen-blocks*, *seen-functions*, and *list-conflicts-table*.
-
- Feb 25, 1999
-
-
pw authored
It is a benign revision as no structures are redefined. At some later point the definitions in compiler/objdef could be removed, perhaps in sync with some other type change.
-
- Feb 15, 1997
-
-
pw authored
-
- Feb 05, 1997
-
-
pw authored
-
- Jan 18, 1997
-
-
ram authored
-
- Oct 31, 1994
-
-
ram authored
-
- Oct 05, 1994
-
-
ram authored
-
- Sep 30, 1994
-
-
ram authored
-
- Aug 21, 1994
-
-
ram authored
declarations.
-
- Feb 12, 1994
-
-
ram authored
(basically always returns T.)
-