- Jan 21, 2009
-
-
rtoy authored
o In MAKE-CONDITION, add case for PCL::CONDITION-CLASS to support class objects.
-
- Nov 12, 2008
-
-
rtoy authored
sse2-packed-2008-11-12).
-
- Jan 03, 2006
-
-
rtoy authored
reference information for other conditions. This condition prints out a short message saying to look somewhere appropriate. o Use REFERENCE-CONDITION for the CONSTANT-MODIFIED condition. (Based on SBCL's REFERENCE-CONDITION.) This needs work to add more references.
-
- Oct 21, 2005
-
-
rtoy authored
condition, or defstruct, and vice versa, so signal an error if we try to do that.
-
- Oct 19, 2005
-
-
rtoy authored
nreverse) modify constant args and for warning when the result of destructive functions is not used. Detecting modification of constant args is done by adding a new IR1 transformation that checks that a function is not destructively modifying constants or literals. A new IR1 attribute, important-result, is used to determine if the result of a function should be used instead of discarded. (Note: this means some functions are not detected. This should probably be implemented as another transform so the compiler can detect those cases.) code/error.lisp: o Add new condition CONSTANT-MODIFIED. compiler/fndb.lisp: o Note destructive functions that should not modify constant args o Note destructive functions whose results should be used. compiler/ir1opt.lisp: o Add new function CHECK-IMPORTANT-RESULT to check if the result is used. o Update IR1-OPTIMIZE-COMBINATION to check if a function destructively modifies constant args or if the result of a destructive function is not used. compiler/knownfun.lisp: o Add new IR1 attribute, IMPORTANT-RESULT, to indicate that the result of a function should be used. o Add new FUNCTION-INFO slot, DESTROYED-CONSTANT-ARGS. This holds a function for computing the constant or literal arguments which are destructively modified by the function. o Add support functions for DESTROYED-CONSTANT-ARGS functions.
-
- Oct 18, 2005
-
-
rtoy authored
failures, so let's preserve the status quo until we can fix these all of these issues.
-
- Oct 14, 2005
-
-
rtoy authored
restarts. Bug reported by Helmut Eller, cmucl-imp, 2005-02-27. Solution by Nikodemus Siivola, cmucl-imp, 2005-10-12.
-
- Sep 09, 2005
-
-
pmai authored
-
- Mar 26, 2004
-
-
emarsden authored
- add a SIMPLE-STREAM-ERROR class, and use it when signaling errors from fd-streams DO-OUTPUT (noted by Matthew Danish) - fix bug in fd-stream error handling (patch from Ole Rohne)
-
- Oct 26, 2003
-
-
gerd authored
Wrap locally around single-element bodies, it can be a declaration. ANSI test HANDLER-CASE.29.
-
- Oct 24, 2003
-
-
toy authored
overflow checking. Enable with :heap-overflow-check. We reserve some number of pages on the heap. When the heap reaches the reserved pages, an overflow warning is signalled. The reserved pages are set 0. This allows some additional allocation to happen during debugging, if necessary. If another overflow happens, we throw to top-level. Sparc only right now. * lisp/sparc-assem.S (_do_dynamic_space_overflow_error): New function to handle a heap overflow error. (_do_dynamic_space_overflow_warning): New function to handle heap overflow warning. * lisp/sparc-arch.c (sigill_handler): Handle the two new traps caused by heap overflows. * lisp/interrupt.c (interrupt_handle_space_overflow): New function to handle interrupt caused by heap space overflows. * lisp/gencgc.c (handle_heap_overflow): New function to handle heap overflows. (gc_alloc_new_region): Use handle_heap_overflow. (gc_alloc_large): Use handle_heap_overflow * compiler/sparc/parms.lisp (static-symbols): Add new static symbols for heap overflow checking: dynamic-space-overflow-error-hit and dynamic-space-overflow-warning-hit. * compiler/generic/new-genesis.lisp (finish-symbols): Initialize the new dynamic-space-overflow-error-hit and dynamic-space-overflow-warning-hit static symbols. * code/lispinit.lisp (:heap-overflow-check): Add heap-overflow-check to *runtime-features*, if necessary. ("reserved_heap_pages"): Access to alien variable for heap overflow. (*reserved-heap-pages*): Default number of heap pages to reserve for heap overflow. (%top-level): Set reserved-heap-pages to the default. * code/interr.lisp (dynamic-space-overflow-warning-hit): Add function to handle heap overflow warnings. (dynamic-space-overflow-error-hit): Add function to handle heap overflow error. * code/error.lisp (heap-overflow): Add new condition type for heap overflow
-
- Jul 20, 2003
-
-
gerd authored
that can be different from the dynamic environment at the point where the user chooses one of the computed restarts. Effect: The debugger offers a restart, but complains that it isn't active when the restart is chosen. * src/code/error.lisp (%invoke-restart-interactively): New function. (invoke-restart-interactively): Use it. * src/code/debug.lisp (make-restart-commands): Use it.
-
- May 03, 2003
-
-
gerd authored
find. From Alexey Dejneka.
-
- Apr 30, 2003
-
-
gerd authored
(define-condition): Parse :documentation.
-
- Apr 29, 2003
-
-
emarsden authored
Make SIMPLE-PARSE-ERROR subclass PARSE-ERROR (fixes bug in PARSE-INTEGER reported to cmucl-help by Johannes Grødem).
-
- Apr 18, 2003
-
-
gerd authored
ANSI. Detected by Paul Dietz' ANSI test suite. * src/tools/worldcom.lisp: Set conditions::*make-condition-accessor-methods* to nil. * src/tools/pclcom.lisp: Convert condition accessor gfs back to normal functions. * src/code/error.lisp (*make-condition-accessor-methods*) (*early-condition-accessors*): New variables. (make-early-condition-accessors-generic) (make-condition-accessor): New functions. (%define-condition): Use make-condition-accessor. (define-condition): Define methods if *make-condition-accessor-methods*. * src/pcl/fixup.lisp (toplevel): Call conditions::make-early-condition-accessors-generic.
-
- Apr 17, 2003
-
-
gerd authored
test cases. * src/code/error.lisp (munge-restart-case-expression) Add environment parameter. (restart-case): Add &environment and pass it to munge-restart-case-expression.
-
gerd authored
* src/code/error.lisp (%find-restarts): New function. (munge-restart-case-expression): Use it instead of find-restart which returns only one restart object for restarts with equal names.
-
- Apr 16, 2003
-
-
gerd authored
Dietz' test suite. From SBCL. * src/code/error.lisp (define-nil-returning-restart): Invoke the restart returned from find-restart.
-
- Apr 13, 2003
-
-
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.
-
- Mar 23, 2003
-
-
gerd authored
feature :stack-checking because it's not implemented for other systems/architectures yet. It is currently known to work on FreeBSD 4.8-RC/x86 and Debian 2.2.20/x86. * bootfiles/18e/boot3.lisp: New boot file, well, only a description of the boot procedure since no boot file is needed. * lisp/x86-validate.h (SIGNAL_STACK_START, SIGNAL_STACK_SIZE) [__FreeBSD__, __linux__]: New defines. (CONTROL_STACK_SIZE) {__FreeBSD__, __linux__]: Adjust for signal stack. * lisp/validate.c (validate) [RED_ZONE_HIT]: Call os_guard_control_stack. Some cleanup. * lisp/os.h (BOTH_ZONES, YELLOW_ZONE, RED_ZONE): New enums. Add function prototypes. * lisp/interrupt.c (interrupt_install_low_level_handler) [RED_ZONE_HIT]: Deliver protection violations on a dedicated signal stack. * lisp/os-common.c (os_stack_grows_down_1, os_stack_grows_down): New functions. (guard_zones, control_stack_zone, os_guard_control_stack) (os_control_stack_overflow) [RED_ZONE_HIT]: New functions. (os_control_stack_overflow) [!RED_ZONE_HIT]: Dummy function. * lisp/Linux-os.c (sigsegv_handler) [RED_ZONE_HIT]: Handle control stack overflows. * lisp/FreeBSD-os.c: General cleansing. (sigbus_handler) [RED_ZONE_HIT]: Handle control stack overflows. * lisp/FreeBSD-os.h (PROTECTION_VIOLATION_SIGNAL): New define. * lisp/Linux-os.h (PROTECTION_VIOLATION_SIGNAL): New define. * compiler/x86/system.lisp (lisp::%scrub-control-stack): Change defknown from sys:scrub-control-stack. (%scrub-control-stack): Rename VOP. * code/lispinit.lisp (os-guard-control-stack) [#+stack-checking]: Define alien os_guard_control_stack. (%scrub-control-stack) [#+x86]: New function. (scrub-control-stack) [#+x86]: Call %scrub-control-stack, call os-guard-control-stack if #+stack-checking. * code/interr.lisp (yellow-zone-hit, red-zone-hit) [#+stack-checking]: New functions. * code/error.lisp (stack-overflow) [#+stack-checking]: New condition. * compiler/generic/new-genesis.lisp (finish-symbols) [#+stack-checking]: Add symbols for control stack checking. * compiler/x86/parms.lisp (static-symbols): Likewise.
-
- Mar 22, 2003
-
-
gerd authored
= pcl:class part. To get it booted from 18e, cross-compile using boot1.lisp as bootstrap.lisp in pmai's build scripts, then do a normal compile with boot2.lisp as bootstrap.lisp with the resulting Lisp. * code/byte-interp.lisp, code/defstruct.lisp, code/describe.lisp: * code/error.lisp, code/exports.lisp, code/hash-new.lisp: * code/hash.lisp, code/macros.lisp, code/misc.lisp: * code/package.lisp, code/pred.lisp, code/sharpm.lisp, code/type.lisp: * compiler/dump.lisp, compiler/fndb.lisp, compiler/globaldb.lisp: * compiler/proclaim.lisp, compiler/typetran.lisp, compiler/xref.lisp: * compiler/generic/primtype.lisp, compiler/generic/vm-type.lisp: Changes for to use kernel::class etc. * code/class.lisp (toplevel): Shadow class, built-in-class etc. (class): Give it conc-name %class-. (toplevel) [#+bootstrap-lisp-class=pcl-class]: Define old accessors. (everywhere): Use new class accessors. * compiler/generic/vm-fndb.lisp (%make-instance): Change from unsafe to flushable and movable. * code/ntrace.lisp (expand-trace, untrace): Changes for method tracing. * code/profile.lisp (profile, profile-all, unprofile): Method profiling. * pcl/*.text, pcl/bench.lisp, pcl/extensions.lisp: * pcl/fast-init.lisp, pcl/precom1.lisp, pcl/precom4.lisp: * pcl/structure-class.lisp, pcl/user-instances.lisp: Removed. * tools/pclcom.lisp: Changes for my PCL and lisp:class = pcl::class.
-
- Feb 15, 2003
-
-
pmai authored
This change causes condition printing (generally) and condition reporting (in particular) to go via print-object, once PCL is loaded, as required by ANSI. Note that the :report option of define-condition still goes through the old non-print-object mechanism (which is allowed by ANSI), but that this mechanism is now invoked via a default method of print-object specialized on condition. Hence user-defined methods on print-object are now effective, instead of being bypassed through the old mechanism.
-
- Aug 23, 2002
-
-
pmai authored
reporting in several places to be more specific and/or ANSI compliant. The patches have been modified to make use of the new common simple-programm-error function where applicable.
-
- Aug 22, 2002
-
-
pmai authored
ANSI CL. Also removed several other warnings which were mostly bogus with the existance of writers (the "no :initarg/:initform" warning). And finally also removed the "no :reader" warning, since it is really the perogative of the user to do what he wants, and issuing full warnings is non-conforming to boot.
-
- Jul 25, 2002
-
-
toy authored
* the PARSE-INTEGER function should signal an error of type PARSE-ERROR when the substring argument is not a valid representation of an integer.
-
- Feb 01, 2002
-
-
pmai authored
handle free declarations in the body of handler-case clauses that don't bind a variable to the handled condition object.
-
- Apr 19, 2001
-
-
toy authored
occurred.
-
- Jan 09, 2001
-
-
dtc authored
-
- Oct 25, 2000
-
-
pw authored
-
- Aug 08, 2000
-
-
dtc authored
correctly calculate the CPL for the condition classes.
-
- Aug 06, 2000
-
-
dtc authored
layouts within the layout-inherits vector. This ensures that the compiler can generate inline type tests for hierarchical classes. o Modify the definition of the stream class to be hierarchical. o Have the condition classes correctly order their layout-inherits so that the hierarchical condition class is placed at it specified depth. o Enhance the compiler instance typep transform to generate inline type tests for hierarchical classes, not just for structures.
-
- Jul 11, 2000
-
-
dtc authored
catch/throw, as the compiler lossage in the closure over tags has been fixed.
-
- Jan 09, 1999
-
-
dtc authored
Based on patches from Peter Van Eynde.
-
- Dec 19, 1998
-
-
dtc authored
Rework a few error into simple-type-errors.
-
- Aug 14, 1998
-
-
dtc authored
control-error with format-control and arguments. Fixes the printing of the informative error messages which was broken when control-error was fixed to inherit from error rather than simple-error.
-
- Jul 19, 1998
-
-
dtc authored
-
- Jul 16, 1998
-
-
pw authored
in calls to error. From Douglas.
-
- Jul 14, 1998
-
-
pw authored
in various calls to ERROR. Those easily handled by using new condition types simple-file-error and simple-program-error are included. The only functional change here is that the function CHARACTER no longer accepts an integer argument so as to be ANSI compliant. This may break some code.
-
- Jul 13, 1998
-
-
pw authored
to serious-condition. Instead, have new internal condition types simple-package-error, simple-file-error and simple-program-error which inherit from simple-condition and respective error condition, thus picking up the format protocol from simple-condition. Noted a probable bug in that the CPL for conditions is not sorted which results in the found report method being dependent on the order of super-classes specified in the call to define-condition.
-