- Apr 14, 2003
-
-
toy authored
operation and operands that signalled the floating-point exception so we can report it.
-
- Apr 13, 2003
-
-
gerd authored
Declaim inline.
-
emarsden authored
-
gerd authored
Push wrappers on *cmv-stack* instead of classes. * src/pcl/rt/defgeneric.lisp (method-class.0): New test. * src/pcl/gf-call-optimization.lisp (compute-calls): Simplify. * src/pcl/cache.lisp (probe-cache): Remove version in #+nil.
-
gerd authored
* src-types/code/error.lisp (condition-reader-function): Loop over actual initargs first because these determine how slots are initialized. (compute-effective-slots): Don't duplicate slots of the class whose effective slots are computed.
-
gerd authored
ALL-EXPORTED-CL-CLASS-NAMES-ARE-VALID. * src-types/code/unix.lisp (%directory): Struct renamed from directory, give it a :conc-name and :constructor for compatibility. * src-types/code/unix-glibc2.lisp: Likewise.
-
gerd authored
C::SEQUENCE-COUNT /= KERNEL::SEQUENCE-COUNT, it was an unknown type. Please read boot4.lisp. * src/code/exports.lisp ("KERNEL"): Export sequence-count. * src-types/bootfiles/18e/boot4.lisp: New file. Make compute-effective-slot-definition AMOP compliant. Patch from Kevin Rosenberg. * src/pcl/std-class.lisp (compute-slots): Pass slot name to compute-effective-slot-definition. (compute-slots): Likewise. (compute-effective-slot-definition): Add parameter slot-name. * src/pcl/generic-functions.lisp (compute-effective-slot-definition): Add second parameter slot-name. Allow non-keyword keyword names in lambda lists. This fixes test cases STRUCTURE-BOA-TEST-15/[1-8], and FLET.30. * src/compiler/node.lisp (arg-info): Accept non-keyword keyword names. * src/code/type.lisp (key-info): Likewise. Fix type system bugs detected by Paul Dietz' test suite This is to a large extent a port from SBCL. * src/code/type.lisp: Mostly rewritten with code ported from SBCL. * src/compiler/typetran.lisp (ir1-transform-type-predicate): Return nil if type is *empty-type*. (source-transform-negation-typep) (source-transform-intersection-typep): New functions. (source-transform-array-typep): Handle unknown array element types. (typep): Add handling of negation and intersection types. * src/compiler/srctran.lisp (make-canonical-union-type): Simplify, now that #'type-union is smarter. (ir1-transform-<-helper): Give up on non-numeric, non-member types. * src/compiler/checkgen.lisp (type-test-cost): Add a case for intersection-type. (values-types-asserted): Don't use coerce-to-values, see the comment there. * src/compiler/array-tran.lisp (array-dimension): Accept :maybe as array-type-complexp. * src/code/pred.lisp (%%typep): Add handling of negation-types and intersection-types. Change cases of hairy-types, union-types, and arrays with unknown element type. * src/code/exports.lisp ("KERNEL"): Export negation-type, negation-type-type, intersection-type, intersection-type-types. * src/code/class.lisp (sealed-class-intersection): Return one value. (class :simple-intersection): Return one value, return nil in the default case. (class :complex-subtypep-arg2): New type method.
-
- Apr 11, 2003
-
-
emarsden authored
that it's a valid subtype of character (then ignore it).
-
emarsden authored
The LAMBDA-ENVIRONMENT of a node is sometimes nil.
-
emarsden authored
- the :new-compiler and :hash-new features were announced as being deprecated in 18e; remove them and make code that depended on them enabled unconditionally. - if CMUCL is built with the :no-docstrings feature, docstrings are discarded while building. This is intended for embedded-type images.
-
pmai authored
-
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
-
emarsden authored
Noted by Thomas Huehn.
-
pmai authored
Aleksandr Skobelev.
-
pmai authored
-
- Apr 08, 2003
-
-
gerd authored
(process-ignore-declaration): Find local functions differently.
-
- Apr 07, 2003
-
-
gerd authored
(update-slots): Slightly rewritten; don't use the old wrapper if the class isn't finalized. * pcl/rt/defclass.lisp (defclass-forward-referenced-class.1): New test.
-
- Apr 06, 2003
-
-
gerd authored
package.
-
gerd authored
New tests.
-
gerd authored
forward-referenced classes. * pcl/std-class.lisp (class-finalized-p): Method removed. (*allow-forward-referenced-classes-in-cpl-p*): New variable. (make-preliminary-layout): New function. (shared-initialize) <:after std-class>: Call make-preliminary-layout. (shared-initialize) <:after forward-referenced-class>: New method calling make-preliminary-layout. (shared-initialize) <:after structure-class>: Set finalized-p slot to true. (update-slots): Likewise. (shared-initialize) <:after condition-class>: Likewise. (inform-type-system-about-class): New method for forward-referenced classes. (class-has-a-forward-referenced-superclass-p): Moved to info.lisp. * pcl/cpl.lisp (compute-std-cpl-phase-1): Allow forward-referenced classes in the cpl if *allow-forward-referenced-classes-in-cpl-p* is true. * info.lisp (class-has-a-forward-referenced-superclass-p): Moved here from std-class.lisp. * pcl/cache.lisp (make-wrapper): Handle forward-referenced classes. * pcl/braid.lisp (bootstrap-initialize-class): Set the finalized-p slot. * pcl/defs.lisp (class): Add slot finalized-p. * pcl/rt/defclass.lisp (defclass-types.[0-5]) (defclass-forward-referenced-class.0): New tests. Misc fixes. * pcl/defclass.lisp (expand-defclass): Remove code papering over a potential compiler bug. * pcl/macros.lisp (find-class-cell-make-instance-function-keys): Removed. (setf find-class): Add errorp and environment parameters, call (setf kernel::find-class) if new-value is nil.
-
- Apr 03, 2003
- Apr 01, 2003
-
-
toy authored
floating-point instruction from a sigcontext.
-
toy authored
to the sigcontext. o Enable reading the extra FP registers and the high 32-bits of the %g and %o registers for V8+ ABI. o Change MACHINE-TYPE and MACHINE-VERSION to say Ultrasparc instead of SPARCstation when compiled for :sparc-v9.
-
- Mar 31, 2003
-
-
toy authored
-
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.
-
- Mar 30, 2003
-
-
gerd authored
is fboundp, like for the writer.
-
gerd authored
* pcl/braid.lisp (ensure-non-standard-class): Add optional parameter existing-class. (reinitialize-structure-class): New function. (toplevel): Push it on kernel::*defstruct-hooks*. * code/defstruct.lisp (*defstruct-hooks*): New variable. (%defstruct): Call these hooks. * tools/pclcom.lisp (find-package): Remove pcl::reinitialize-structure-class from kernel::*defstruct-hooks*.
-
gerd authored
that structure slot accessors are not yet fboundp.
-
gerd authored
that classes satisfy the TYPE-SPECIFIER type.
-
gerd authored
and for compatibility with other Lisps. * pcl/std-class.lisp (update-class): (setf find-class) here. (shared-initialize) <:after std-class>: Call update-class after setting the class predicate. Make ENSURE-CLASS-USING-CLASS AMOP compliant. * pcl/std-class.lisp (ensure-class, ensure-class-using-class) (ensure-class-using-class): Exchange first and second arg for AMOP compliance. * pcl/generic-functions.lisp (ensure-non-standard-class): Likewise. * pcl/braid.lisp (ensure-non-standard-class): Likewise.
-
gerd authored
declarations, use the ones the user uses.
-
gerd authored
symbols as ftype types, like SBCL and others.
-
- Mar 29, 2003
-
-
gerd authored
-
- Mar 28, 2003
-
-
gerd authored
* pcl/dfun.lisp (*standard-classes*, *standard-slot-locations*): New variables. (compute-standard-slot-locations, standard-slot-value) (standard-slot-value/gf, standard-slot-value/method) (standard-slot-value/eslotd, standard-slot-value/class) (maybe-update-standard-class-locations): New functions. (*cmv-stack*): New variable. (cache-miss-values-internal): Use it to detect vicious circles, and call break-vicious-metacircle. (break-vicious-metacircle, accesses-standard-class-slot-p) (find-standard-class-accessor-method): New functions. * pcl/std-class.lisp (update-slots): Call maybe-update-standard-class-locations. * pcl/fixup.lisp (toplevel): Call compute-standard-slot-locations.
-
- Mar 27, 2003