0.7.13.21:
[sbcl.git] / src / code / error.lisp
index 56ce2ac..66a6ebc 100644 (file)
              (case-failure-possibilities condition)))))
 
 (define-condition simple-control-error (simple-condition control-error) ())
-;;; OpenMCL 0.11 can't compile this, so just skip it, since it
-;;; shouldn't be needed on the happy path anyway. FIXME: CSR says
-;;; that 0.12 should be able to compile this, so this #- should
-;;; be removable real soon now.
-#-(and openmcl sb-xc-host)
 (define-condition simple-file-error    (simple-condition file-error)    ())
 (define-condition simple-program-error (simple-condition program-error) ())
 (define-condition simple-stream-error  (simple-condition stream-error)  ())
+(define-condition simple-parse-error   (simple-condition parse-error)   ())
 
 ;;; This condition is signalled whenever we make a UNKNOWN-TYPE so that
 ;;; compiler warnings can be emitted as appropriate.
 (define-condition parse-unknown-type (condition)
   ((specifier :reader parse-unknown-type-specifier :initarg :specifier)))
 
+(define-condition control-stack-exhausted (storage-condition)
+  ()
+  (:report
+    (lambda (condition stream)
+      (declare (ignore condition))
+      (format stream
+             "Control stack exhausted (no more space for function call frames).  This is probably due to heavily nested or infinitely recursive function calls, or a tail call that SBCL cannot or has not optimized away."))))
+