The following code causes the SBCL compiler to hang. All versions of SBCL from 1.4.11 to 1.5.4 hang. Compilation succeeds on SBCL 1.4.10.
;; ./run-sbcl.sh --no-userinit --eval '(progn (print *features*) (compile-file "/tmp/example3.lisp"))'
(defun execute (object)
(funcall object))
(defun test ()
(let* ((vector (make-array 10 :initial-element 0)))
(labels ((make-incrementer (index count)
(lambda ()
(incf (aref vector index))
(when (< (aref vector index) count)
(execute (make-incrementer index count)))))))))
#|
$ uname -a
Darwin 192-168-1-3.tpgi.com.au 17.7.0 Darwin Kernel Version 17.7.0: Wed Apr 24 21:17:24 PDT 2019; root:xnu-4570.71.45~1/RELEASE_X86_64 x86_64
|#
#| Output SBCL 1.4.11
This is SBCL 1.4.11, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.
SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses. See the CREDITS and COPYING files in the
distribution for more information.
(:X86-64 :64-BIT :64-BIT-REGISTERS :ALIEN-CALLBACKS :ANSI-CL :ASH-RIGHT-VOPS
:BSD :C-STACK-IS-CONTROL-STACK :CALL-SYMBOL :COMMON-LISP
:COMPACT-INSTANCE-HEADER :COMPARE-AND-SWAP-VOPS :COMPLEX-FLOAT-VOPS
:CYCLE-COUNTER :DARWIN :DARWIN9-OR-BETTER :FLOAT-EQL-VOPS
:FP-AND-PC-STANDARD-SAVE :GENCGC :IEEE-FLOATING-POINT :IMMOBILE-CODE
:IMMOBILE-SPACE :INLINE-CONSTANTS :INODE64 :INTEGER-EQL-VOP :LINKAGE-TABLE
:LITTLE-ENDIAN :MACH-EXCEPTION-HANDLER :MACH-O :MEMORY-BARRIER-VOPS
:MULTIPLY-HIGH-VOPS :OS-PROVIDES-BLKSIZE-T :OS-PROVIDES-DLADDR
:OS-PROVIDES-DLOPEN :OS-PROVIDES-PUTWC :OS-PROVIDES-SUSECONDS-T
:PACKAGE-LOCAL-NICKNAMES :RAW-INSTANCE-INIT-VOPS :RAW-SIGNED-WORD
:RELOCATABLE-HEAP :SB-CORE-COMPRESSION :SB-DOC :SB-EVAL :SB-LDB
:SB-PACKAGE-LOCKS :SB-SIMD-PACK :SB-SOURCE-LOCATIONS :SB-THREAD :SB-UNICODE
:SBCL :STACK-ALLOCATABLE-CLOSURES :STACK-ALLOCATABLE-FIXED-OBJECTS
:STACK-ALLOCATABLE-LISTS :STACK-ALLOCATABLE-VECTORS
:STACK-GROWS-DOWNWARD-NOT-UPWARD :SYMBOL-INFO-VOPS :UD2-BREAKPOINTS
:UNBIND-N-VOP :UNDEFINED-FUN-RESTARTS :UNIX :UNWIND-TO-FRAME-AND-CALL-VOP)
; compiling file "/private/tmp/example3.lisp" (written 06 JUL 2019 05:28:15 PM):
; compiling (DEFUN EXECUTE ...)
; compiling (DEFUN TEST ...)
debugger invoked on a SB-SYS:INTERACTIVE-INTERRUPT in thread
#<THREAD "main thread" RUNNING {10005505B3}>:
Interactive interrupt at #x21BEBB76.
Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.
restarts (invokable by number or by possibly-abbreviated name):
0: [CONTINUE] Return from SB-UNIX:SIGINT.
1: Ignore runtime option --eval "(progn (print *features*) (compile-file \"/tmp/example3.lisp\"))".
2: [ABORT ] Skip rest of --eval and --load options.
3: Skip to toplevel READ/EVAL/PRINT loop.
4: [EXIT ] Exit SBCL (calling #'EXIT, killing the process).
(SB-C::LAMBDA-VAR-REF-LVAR #<SB-C::REF :%SOURCE-NAME COUNT :LEAF #<SB-C::LAMBDA-VAR :%SOURCE-NAME COUNT :TYPE #<SB-KERNEL:UNION-TYPE REAL> {100187D883}> {10018867B3}>)
0] :backtrace
Backtrace for: #<SB-THREAD:THREAD "main thread" RUNNING {10005505B3}>
0: (SB-C::LAMBDA-VAR-REF-LVAR #<SB-C::REF :%SOURCE-NAME COUNT :LEAF #<SB-C::LAMBDA-VAR :%SOURCE-NAME COUNT :TYPE #<SB-KERNEL:UNION-TYPE REAL> {100187D883}> {10018867B3}>)
1: (SB-C::PRINCIPAL-LVAR-REF-USE #<SB-C::LVAR 1 {1001885C93}>)
2: (SB-C::ARRAY-IN-BOUNDS-P-CONSTRAINTS #S(SB-C::CONSET :VECTOR #*10000000110000000000001111000000 :MIN 0 :MAX 26) #<SB-C::LVAR 2 {1001885723}> NIL #<SB-C::LVAR 1 {1001885C93}>)
3: ((FLET SB-C::HANDLE-ARRAY-IN-BOUNDS-P :IN SB-C::ADD-TEST-CONSTRAINTS) #<SB-C::LVAR 2 {1001885723}> NIL #<SB-C::LVAR 1 {1001885C93}>)
4: (SB-C::ADD-TEST-CONSTRAINTS #<SB-C::COMBINATION :FUN #<SB-C::REF :LEAF #<SB-C::GLOBAL-VAR :%SOURCE-NAME < :TYPE #1=#<SB-KERNEL:FUN-TYPE (FUNCTION (REAL &REST REAL) (VALUES BOOLEAN &OPTIONAL))> :DEFINED-TYPE #1# :WHERE-FROM :DECLARED :KIND :GLOBAL-FUNCTION {10018840D3}> {10018845D3}> :ARGS (#<CAST :%TYPE-CHECK T :VALUE #<SB-C::LVAR 3 {1001884713}> :ASSERTED-TYPE #2=#<SB-KERNEL:UNION-TYPE REAL> :TYPE-TO-CHECK #2# {1001885B63}> #<SB-C::REF :%SOURCE-NAME COUNT :LEAF #<SB-C::LAMBDA-VAR :%SOURCE-NAME COUNT :TYPE #2# {100187D883}> {1001884F13}>) {1001884653}> #<SB-C::CIF :TEST #<SB-C::COMBINATION :FUN #<SB-C::REF :LEAF #<SB-C::GLOBAL-VAR :%SOURCE-NAME < :TYPE #1=#<SB-KERNEL:FUN-TYPE (FUNCTION # #)> :DEFINED-TYPE #1# :WHERE-FROM :DECLARED :KIND :GLOBAL-FUNCTION {10018840D3}> {10018845D3}> :ARGS (#<CAST :%TYPE-CHECK T :VALUE #<SB-C::LVAR 3 {1001884713}> :ASSERTED-TYPE #2=#<SB-KERNEL:UNION-TYPE REAL> :TYPE-TO-CHECK #2# {1001885B63}> #<SB-C::REF :%SOURCE-NAME COUNT :LEAF #<SB-C::LAMBDA-VAR :%SOURCE-NAME COUNT :TYPE #2# {100187D883}> {1001884F13}>) {1001884653}> :CONSEQUENT #<SB-C::CBLOCK 10 :START c4 {1001883EF3}> :ALTERNATIVE #<SB-C::CBLOCK 7 :START c5 {1001883FC3}> {1001884063}> #S(SB-C::CONSET :VECTOR #*10000000110000000000001111000000 :MIN 0 :MAX 26))
5: (SB-C::FIND-BLOCK-TYPE-CONSTRAINTS #<SB-C::CBLOCK 11 :START c6 {100187E893}> T)
6: (SB-C::FIND-AND-PROPAGATE-CONSTRAINTS #<SB-C:COMPONENT :NAME (SB-C::XEP (LAMBDA NIL :IN TEST)) {100188DFF3}>)
7: (SB-C::CONSTRAINT-PROPAGATE #<SB-C:COMPONENT :NAME (SB-C::XEP (LAMBDA NIL :IN TEST)) {100188DFF3}>)
8: (SB-C::IR1-PHASES #<SB-C:COMPONENT :NAME (SB-C::XEP (LAMBDA NIL :IN TEST)) {100188DFF3}>)
9: (SB-C::COMPILE-COMPONENT #<SB-C:COMPONENT :NAME (SB-C::XEP (LAMBDA NIL :IN TEST)) {100188DFF3}>)
10: (SB-C::%COMPILE (SB-INT:NAMED-LAMBDA TEST NIL (DECLARE (SB-C::TOP-LEVEL-FORM)) (BLOCK TEST (LET* ((VECTOR #)) (LABELS (#))))) #<SB-FASL:FASL-OUTPUT "/tmp/example3.fasl"> :NAME NIL :PATH ((FUNCTION #1=(SB-INT:NAMED-LAMBDA TEST NIL (DECLARE (SB-C::TOP-LEVEL-FORM)) (BLOCK TEST (LET* # #)))) #1# #2=(SB-IMPL::%DEFUN (QUOTE TEST) #1#) #2# (PROGN (EVAL-WHEN (:COMPILE-TOPLEVEL) (SB-C:%COMPILER-DEFUN (QUOTE TEST) T NIL (QUOTE NIL))) #2#) SB-C::ORIGINAL-SOURCE-START 0 1))
11: (SB-C::FOPCOMPILE-FUNCTION #<SB-FASL:FASL-OUTPUT "/tmp/example3.fasl"> (SB-INT:NAMED-LAMBDA TEST NIL (DECLARE (SB-C::TOP-LEVEL-FORM)) (BLOCK TEST (LET* ((VECTOR #)) (LABELS (#))))) ((FUNCTION #1=(SB-INT:NAMED-LAMBDA TEST NIL (DECLARE (SB-C::TOP-LEVEL-FORM)) (BLOCK TEST (LET* # #)))) #1# #2=(SB-IMPL::%DEFUN (QUOTE TEST) #1#) #2# (PROGN (EVAL-WHEN (:COMPILE-TOPLEVEL) (SB-C:%COMPILER-DEFUN (QUOTE TEST) T NIL (QUOTE NIL))) #2#) SB-C::ORIGINAL-SOURCE-START 0 1) T)
12: (SB-C::FOPCOMPILE (SB-IMPL::%DEFUN (QUOTE TEST) (SB-INT:NAMED-LAMBDA TEST NIL (DECLARE (SB-C::TOP-LEVEL-FORM)) (BLOCK TEST (LET* (#) (LABELS #))))) (#1=(SB-IMPL::%DEFUN (QUOTE TEST) (SB-INT:NAMED-LAMBDA TEST NIL (DECLARE (SB-C::TOP-LEVEL-FORM)) (BLOCK TEST (LET* # #)))) (PROGN (EVAL-WHEN (:COMPILE-TOPLEVEL) (SB-C:%COMPILER-DEFUN (QUOTE TEST) T NIL (QUOTE NIL))) #1#) SB-C::ORIGINAL-SOURCE-START 0 1) NIL NIL)
13: (SB-C::CONVERT-AND-MAYBE-COMPILE (SB-IMPL::%DEFUN (QUOTE TEST) (SB-INT:NAMED-LAMBDA TEST NIL (DECLARE (SB-C::TOP-LEVEL-FORM)) (BLOCK TEST (LET* (#) (LABELS #))))) (#1=(SB-IMPL::%DEFUN (QUOTE TEST) (SB-INT:NAMED-LAMBDA TEST NIL (DECLARE (SB-C::TOP-LEVEL-FORM)) (BLOCK TEST (LET* # #)))) (PROGN (EVAL-WHEN (:COMPILE-TOPLEVEL) (SB-C:%COMPILER-DEFUN (QUOTE TEST) T NIL (QUOTE NIL))) #1#) SB-C::ORIGINAL-SOURCE-START 0 1) NIL)
14: ((FLET SB-C::DEFAULT-PROCESSOR :IN SB-C::PROCESS-TOPLEVEL-FORM) (SB-IMPL::%DEFUN (QUOTE TEST) (SB-INT:NAMED-LAMBDA TEST NIL (DECLARE (SB-C::TOP-LEVEL-FORM)) (BLOCK TEST (LET* (#) (LABELS #))))))
15: (SB-C::PROCESS-TOPLEVEL-FORM (SB-IMPL::%DEFUN (QUOTE TEST) (SB-INT:NAMED-LAMBDA TEST NIL (DECLARE (SB-C::TOP-LEVEL-FORM)) (BLOCK TEST (LET* (#) (LABELS #))))) ((PROGN (EVAL-WHEN (:COMPILE-TOPLEVEL) (SB-C:%COMPILER-DEFUN (QUOTE TEST) T NIL (QUOTE NIL))) (SB-IMPL::%DEFUN (QUOTE TEST) (SB-INT:NAMED-LAMBDA TEST NIL (DECLARE #) (BLOCK TEST #)))) SB-C::ORIGINAL-SOURCE-START 0 1) NIL)
16: (SB-C::PROCESS-TOPLEVEL-PROGN ((EVAL-WHEN (:COMPILE-TOPLEVEL) (SB-C:%COMPILER-DEFUN (QUOTE TEST) T NIL (QUOTE NIL))) (SB-IMPL::%DEFUN (QUOTE TEST) (SB-INT:NAMED-LAMBDA TEST NIL (DECLARE (SB-C::TOP-LEVEL-FORM)) (BLOCK TEST (LET* # #))))) ((PROGN (EVAL-WHEN (:COMPILE-TOPLEVEL) (SB-C:%COMPILER-DEFUN (QUOTE TEST) T NIL (QUOTE NIL))) (SB-IMPL::%DEFUN (QUOTE TEST) (SB-INT:NAMED-LAMBDA TEST NIL (DECLARE #) (BLOCK TEST #)))) SB-C::ORIGINAL-SOURCE-START 0 1) NIL)
17: (SB-C::PROCESS-TOPLEVEL-FORM (PROGN (EVAL-WHEN (:COMPILE-TOPLEVEL) (SB-C:%COMPILER-DEFUN (QUOTE TEST) T NIL (QUOTE NIL))) (SB-IMPL::%DEFUN (QUOTE TEST) (SB-INT:NAMED-LAMBDA TEST NIL (DECLARE (SB-C::TOP-LEVEL-FORM)) (BLOCK TEST (LET* # #))))) (SB-C::ORIGINAL-SOURCE-START 0 1) NIL)
18: ((FLET SB-C::DEFAULT-PROCESSOR :IN SB-C::PROCESS-TOPLEVEL-FORM) (DEFUN TEST NIL (LET* ((VECTOR (MAKE-ARRAY 10 :INITIAL-ELEMENT 0))) (LABELS ((MAKE-INCREMENTER # #))))))
19: (SB-C::PROCESS-TOPLEVEL-FORM (DEFUN TEST NIL (LET* ((VECTOR (MAKE-ARRAY 10 :INITIAL-ELEMENT 0))) (LABELS ((MAKE-INCREMENTER # #))))) (SB-C::ORIGINAL-SOURCE-START 0 1) NIL)
20: ((LAMBDA (SB-KERNEL:FORM &KEY :CURRENT-INDEX &ALLOW-OTHER-KEYS) :IN SB-C::SUB-SUB-COMPILE-FILE) (DEFUN TEST NIL (LET* ((VECTOR (MAKE-ARRAY 10 :INITIAL-ELEMENT 0))) (LABELS ((MAKE-INCREMENTER # #))))) :CURRENT-INDEX 1)
21: (SB-C::%DO-FORMS-FROM-INFO #<FUNCTION (LAMBDA (SB-KERNEL:FORM &KEY :CURRENT-INDEX &ALLOW-OTHER-KEYS) :IN SB-C::SUB-SUB-COMPILE-FILE) {21E6445B}> #<SB-C::SOURCE-INFO {10018397D3}> SB-C::INPUT-ERROR-IN-COMPILE-FILE)
22: (SB-C::SUB-SUB-COMPILE-FILE #<SB-C::SOURCE-INFO {10018397D3}>)
23: ((FLET SB-THREAD::WITH-RECURSIVE-LOCK-THUNK :IN SB-C::SUB-COMPILE-FILE))
24: ((FLET "WITHOUT-INTERRUPTS-BODY-29" :IN SB-THREAD::CALL-WITH-RECURSIVE-LOCK))
25: (SB-THREAD::CALL-WITH-RECURSIVE-LOCK #<CLOSURE (FLET SB-THREAD::WITH-RECURSIVE-LOCK-THUNK :IN SB-C::SUB-COMPILE-FILE) {4FF36B}> #<SB-THREAD:MUTEX "World Lock" owner: #<SB-THREAD:THREAD "main thread" RUNNING {10005505B3}>> T NIL)
26: ((FLET "LAMBDA0" :IN "SYS:SRC;COMPILER;MAIN.LISP"))
27: ((FLET SB-C::WITH-IT :IN SB-C::%WITH-COMPILATION-UNIT))
28: (SB-C::SUB-COMPILE-FILE #<SB-C::SOURCE-INFO {10018397D3}>)
29: (COMPILE-FILE "/tmp/example3.lisp" :OUTPUT-FILE NIL :VERBOSE NIL :PRINT NIL :EXTERNAL-FORMAT :DEFAULT :TRACE-FILE NIL :BLOCK-COMPILE NIL :EMIT-CFASL NIL)
30: (SB-INT:SIMPLE-EVAL-IN-LEXENV (COMPILE-FILE "/tmp/example3.lisp") #<NULL-LEXENV>)
31: (SB-INT:SIMPLE-EVAL-IN-LEXENV (PROGN (PRINT *FEATURES*) (COMPILE-FILE "/tmp/example3.lisp")) #<NULL-LEXENV>)
32: (EVAL (PROGN (PRINT *FEATURES*) (COMPILE-FILE "/tmp/example3.lisp")))
33: (SB-IMPL::PROCESS-EVAL/LOAD-OPTIONS ((:EVAL . "(progn (print *features*) (compile-file \"/tmp/example3.lisp\"))")))
34: (SB-IMPL::TOPLEVEL-INIT)
35: ((FLET SB-UNIX::BODY :IN SAVE-LISP-AND-DIE))
36: ((FLET "WITHOUT-INTERRUPTS-BODY-34" :IN SAVE-LISP-AND-DIE))
37: ((LABELS SB-IMPL::RESTART-LISP :IN SAVE-LISP-AND-DIE))
|#
#| Output SBCL 1.5.4
This is SBCL 1.5.4, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.
SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses. See the CREDITS and COPYING files in the
distribution for more information.
(:X86-64 :64-BIT :64-BIT-REGISTERS :ALIEN-CALLBACKS :ANSI-CL :AVX2 :BSD
:C-STACK-IS-CONTROL-STACK :CALL-SYMBOL :COMMON-LISP :COMPACT-INSTANCE-HEADER
:COMPARE-AND-SWAP-VOPS :CYCLE-COUNTER :DARWIN :FP-AND-PC-STANDARD-SAVE :GENCGC
:IEEE-FLOATING-POINT :IMMOBILE-CODE :IMMOBILE-SPACE :INODE64 :INTEGER-EQL-VOP
:LINKAGE-TABLE :LITTLE-ENDIAN :MACH-EXCEPTION-HANDLER :MACH-O
:OS-PROVIDES-BLKSIZE-T :OS-PROVIDES-DLADDR :OS-PROVIDES-DLOPEN
:OS-PROVIDES-PUTWC :OS-PROVIDES-SUSECONDS-T :PACKAGE-LOCAL-NICKNAMES
:RELOCATABLE-HEAP :SB-CORE-COMPRESSION :SB-DOC :SB-EVAL :SB-LDB
:SB-PACKAGE-LOCKS :SB-SIMD-PACK :SB-SIMD-PACK-256 :SB-SOURCE-LOCATIONS
:SB-THREAD :SB-UNICODE :SBCL :STACK-ALLOCATABLE-CLOSURES
:STACK-ALLOCATABLE-FIXED-OBJECTS :STACK-ALLOCATABLE-LISTS
:STACK-ALLOCATABLE-VECTORS :STACK-GROWS-DOWNWARD-NOT-UPWARD
:UNDEFINED-FUN-RESTARTS :UNIX :UNWIND-TO-FRAME-AND-CALL-VOP)
; compiling file "/private/tmp/example3.lisp" (written 06 JUL 2019 05:38:22 PM):
; compiling (DEFUN EXECUTE ...)
; compiling (DEFUN TEST ...)^C
debugger invoked on a SB-SYS:INTERACTIVE-INTERRUPT in thread
#<THREAD "main thread" RUNNING {10005004F3}>:
Interactive interrupt at #x21BEE45E.
Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.
restarts (invokable by number or by possibly-abbreviated name):
0: [CONTINUE] Return from SB-UNIX:SIGINT.
1: Ignore runtime option --eval "(progn (print *features*) (compile-file \"/tmp/example3.lisp\"))".
2: [ABORT ] Skip rest of --eval and --load options.
3: Skip to toplevel READ/EVAL/PRINT loop.
4: [EXIT ] Exit SBCL (calling #'EXIT, killing the process).
(SB-C::LAMBDA-VAR-REF-LVAR #<SB-C::REF :%SOURCE-NAME COUNT :LEAF #<SB-C::LAMBDA-VAR :%SOURCE-NAME COUNT :TYPE #<SB-KERNEL:UNION-TYPE REAL> {100152B643}> {1001534773}>)
0] :Backtrace
Backtrace for: #<SB-THREAD:THREAD "main thread" RUNNING {10005004F3}>
0: (SB-C::LAMBDA-VAR-REF-LVAR #<SB-C::REF :%SOURCE-NAME COUNT :LEAF #<SB-C::LAMBDA-VAR :%SOURCE-NAME COUNT :TYPE #<SB-KERNEL:UNION-TYPE REAL> {100152B643}> {1001534773}>)
1: (SB-C::PRINCIPAL-LVAR-REF-USE #<SB-C::LVAR 1 {1001533C53}>)
2: (SB-C::ARRAY-IN-BOUNDS-P-CONSTRAINTS #S(SB-C::CONSET :VECTOR #*10000000110000000000001111000000 :MIN 0 :MAX 26) #<SB-C::LVAR 2 {10015336B3}> NIL #<SB-C::LVAR 1 {1001533C53}>)
3: ((FLET SB-C::HANDLE-ARRAY-IN-BOUNDS-P :IN SB-C::ADD-TEST-CONSTRAINTS) #<SB-C::LVAR 2 {10015336B3}> NIL #<SB-C::LVAR 1 {1001533C53}>)
4: (SB-C::ADD-TEST-CONSTRAINTS #<SB-C::COMBINATION :FUN #<SB-C::REF :LEAF #<SB-C::GLOBAL-VAR :%SOURCE-NAME < :TYPE #1=#<SB-KERNEL:FUN-TYPE (FUNCTION (REAL &REST REAL) (VALUES BOOLEAN &OPTIONAL))> :DEFINED-TYPE #1# :WHERE-FROM :DECLARED :KIND :GLOBAL-FUNCTION {1001532063}> {1001532563}> :ARGS (#<CAST :%TYPE-CHECK T :VALUE #<SB-C::LVAR 3 {10015326A3}> :ASSERTED-TYPE #2=#<SB-KERNEL:UNION-TYPE REAL> :TYPE-TO-CHECK #2# {1001533B23}> #<SB-C::REF :%SOURCE-NAME COUNT :LEAF #<SB-C::LAMBDA-VAR :%SOURCE-NAME COUNT :TYPE #2# {100152B643}> {1001532EA3}>) {10015325E3}> #<SB-C::CIF :TEST #<SB-C::COMBINATION :FUN #<SB-C::REF :LEAF #<SB-C::GLOBAL-VAR :%SOURCE-NAME < :TYPE #1=#<SB-KERNEL:FUN-TYPE (FUNCTION # #)> :DEFINED-TYPE #1# :WHERE-FROM :DECLARED :KIND :GLOBAL-FUNCTION {1001532063}> {1001532563}> :ARGS (#<CAST :%TYPE-CHECK T :VALUE #<SB-C::LVAR 3 {10015326A3}> :ASSERTED-TYPE #2=#<SB-KERNEL:UNION-TYPE REAL> :TYPE-TO-CHECK #2# {1001533B23}> #<SB-C::REF :%SOURCE-NAME COUNT :LEAF #<SB-C::LAMBDA-VAR :%SOURCE-NAME COUNT :TYPE #2# {100152B643}> {1001532EA3}>) {10015325E3}> :CONSEQUENT #<SB-C::CBLOCK 10 :START c4 {1001531E83}> :ALTERNATIVE #<SB-C::CBLOCK 7 :START c5 {1001531F53}> {1001531FF3}> #S(SB-C::CONSET :VECTOR #*10000000110000000000001111000000 :MIN 0 :MAX 26))
5: (SB-C::FIND-BLOCK-TYPE-CONSTRAINTS #<SB-C::CBLOCK 11 :START c6 {100152C683}> T)
6: (SB-C::FIND-AND-PROPAGATE-CONSTRAINTS #<SB-C:COMPONENT :NAME (SB-C::XEP (LAMBDA NIL :IN TEST)) {10015399B3}>)
7: (SB-C::CONSTRAINT-PROPAGATE #<SB-C:COMPONENT :NAME (SB-C::XEP (LAMBDA NIL :IN TEST)) {10015399B3}>)
8: (SB-C::IR1-OPTIMIZE-PHASE-1 #<SB-C:COMPONENT :NAME (SB-C::XEP (LAMBDA NIL :IN TEST)) {10015399B3}>)
9: (SB-C::IR1-PHASES #<SB-C:COMPONENT :NAME (SB-C::XEP (LAMBDA NIL :IN TEST)) {10015399B3}>)
10: (SB-C::COMPILE-COMPONENT #<SB-C:COMPONENT :NAME (SB-C::XEP (LAMBDA NIL :IN TEST)) {10015399B3}>)
11: (SB-C::%COMPILE (SB-INT:NAMED-LAMBDA TEST NIL (DECLARE (SB-C::TOP-LEVEL-FORM)) (BLOCK TEST (LET* ((VECTOR #)) (LABELS (#))))) #<SB-FASL:FASL-OUTPUT "/tmp/example3.fasl"> :NAME NIL :PATH ((FUNCTION #1=(SB-INT:NAMED-LAMBDA TEST NIL (DECLARE (SB-C::TOP-LEVEL-FORM)) (BLOCK TEST (LET* # #)))) #1# #2=(SB-IMPL::%DEFUN (QUOTE TEST) #1#) #2# (PROGN (EVAL-WHEN (:COMPILE-TOPLEVEL) (SB-C:%COMPILER-DEFUN (QUOTE TEST) T NIL NIL)) #2#) SB-C::ORIGINAL-SOURCE-START 0 1))
12: (SB-C::FOPCOMPILE-FUNCTION #<SB-FASL:FASL-OUTPUT "/tmp/example3.fasl"> (SB-INT:NAMED-LAMBDA TEST NIL (DECLARE (SB-C::TOP-LEVEL-FORM)) (BLOCK TEST (LET* ((VECTOR #)) (LABELS (#))))) ((FUNCTION #1=(SB-INT:NAMED-LAMBDA TEST NIL (DECLARE (SB-C::TOP-LEVEL-FORM)) (BLOCK TEST (LET* # #)))) #1# #2=(SB-IMPL::%DEFUN (QUOTE TEST) #1#) #2# (PROGN (EVAL-WHEN (:COMPILE-TOPLEVEL) (SB-C:%COMPILER-DEFUN (QUOTE TEST) T NIL NIL)) #2#) SB-C::ORIGINAL-SOURCE-START 0 1) T)
13: (SB-C::FOPCOMPILE (SB-IMPL::%DEFUN (QUOTE TEST) (SB-INT:NAMED-LAMBDA TEST NIL (DECLARE (SB-C::TOP-LEVEL-FORM)) (BLOCK TEST (LET* (#) (LABELS #))))) (#1=(SB-IMPL::%DEFUN (QUOTE TEST) (SB-INT:NAMED-LAMBDA TEST NIL (DECLARE (SB-C::TOP-LEVEL-FORM)) (BLOCK TEST (LET* # #)))) (PROGN (EVAL-WHEN (:COMPILE-TOPLEVEL) (SB-C:%COMPILER-DEFUN (QUOTE TEST) T NIL NIL)) #1#) SB-C::ORIGINAL-SOURCE-START 0 1) NIL T)
14: (SB-C::CONVERT-AND-MAYBE-COMPILE (SB-IMPL::%DEFUN (QUOTE TEST) (SB-INT:NAMED-LAMBDA TEST NIL (DECLARE (SB-C::TOP-LEVEL-FORM)) (BLOCK TEST (LET* (#) (LABELS #))))) (#1=(SB-IMPL::%DEFUN (QUOTE TEST) (SB-INT:NAMED-LAMBDA TEST NIL (DECLARE (SB-C::TOP-LEVEL-FORM)) (BLOCK TEST (LET* # #)))) (PROGN (EVAL-WHEN (:COMPILE-TOPLEVEL) (SB-C:%COMPILER-DEFUN (QUOTE TEST) T NIL NIL)) #1#) SB-C::ORIGINAL-SOURCE-START 0 1) T)
15: (SB-C::PROCESS-TOPLEVEL-FORM (SB-IMPL::%DEFUN (QUOTE TEST) (SB-INT:NAMED-LAMBDA TEST NIL (DECLARE (SB-C::TOP-LEVEL-FORM)) (BLOCK TEST (LET* (#) (LABELS #))))) ((PROGN (EVAL-WHEN (:COMPILE-TOPLEVEL) (SB-C:%COMPILER-DEFUN (QUOTE TEST) T NIL NIL)) (SB-IMPL::%DEFUN (QUOTE TEST) (SB-INT:NAMED-LAMBDA TEST NIL (DECLARE #) (BLOCK TEST #)))) SB-C::ORIGINAL-SOURCE-START 0 1) NIL)
16: (SB-C::PROCESS-TOPLEVEL-PROGN ((EVAL-WHEN (:COMPILE-TOPLEVEL) (SB-C:%COMPILER-DEFUN (QUOTE TEST) T NIL NIL)) (SB-IMPL::%DEFUN (QUOTE TEST) (SB-INT:NAMED-LAMBDA TEST NIL (DECLARE (SB-C::TOP-LEVEL-FORM)) (BLOCK TEST (LET* # #))))) ((PROGN (EVAL-WHEN (:COMPILE-TOPLEVEL) (SB-C:%COMPILER-DEFUN (QUOTE TEST) T NIL NIL)) (SB-IMPL::%DEFUN (QUOTE TEST) (SB-INT:NAMED-LAMBDA TEST NIL (DECLARE #) (BLOCK TEST #)))) SB-C::ORIGINAL-SOURCE-START 0 1) NIL)
17: (SB-C::PROCESS-TOPLEVEL-FORM (PROGN (EVAL-WHEN (:COMPILE-TOPLEVEL) (SB-C:%COMPILER-DEFUN (QUOTE TEST) T NIL NIL)) (SB-IMPL::%DEFUN (QUOTE TEST) (SB-INT:NAMED-LAMBDA TEST NIL (DECLARE (SB-C::TOP-LEVEL-FORM)) (BLOCK TEST (LET* # #))))) (SB-C::ORIGINAL-SOURCE-START 0 1) NIL)
18: (SB-C::PROCESS-TOPLEVEL-FORM (DEFUN TEST NIL (LET* ((VECTOR (MAKE-ARRAY 10 :INITIAL-ELEMENT 0))) (LABELS ((MAKE-INCREMENTER # #))))) (SB-C::ORIGINAL-SOURCE-START 0 1) NIL)
19: ((LAMBDA (SB-KERNEL:FORM &KEY :CURRENT-INDEX &ALLOW-OTHER-KEYS) :IN SB-C::SUB-COMPILE-FILE) (DEFUN TEST NIL (LET* ((VECTOR (MAKE-ARRAY 10 :INITIAL-ELEMENT 0))) (LABELS ((MAKE-INCREMENTER # #))))) :CURRENT-INDEX 1)
20: (SB-C::%DO-FORMS-FROM-INFO #<FUNCTION (LAMBDA (SB-KERNEL:FORM &KEY :CURRENT-INDEX &ALLOW-OTHER-KEYS) :IN SB-C::SUB-COMPILE-FILE) {21D1554B}> #<SB-C::SOURCE-INFO {10014E9533}> SB-C::INPUT-ERROR-IN-COMPILE-FILE)
21: ((FLET SB-THREAD::WITH-RECURSIVE-LOCK-THUNK :IN SB-C::SUB-COMPILE-FILE))
22: ((FLET "WITHOUT-INTERRUPTS-BODY-29" :IN SB-THREAD::CALL-WITH-RECURSIVE-LOCK))
23: (SB-THREAD::CALL-WITH-RECURSIVE-LOCK #<CLOSURE (FLET SB-THREAD::WITH-RECURSIVE-LOCK-THUNK :IN SB-C::SUB-COMPILE-FILE) {19FF3DB}> #<SB-THREAD:MUTEX "World Lock" owner: #<SB-THREAD:THREAD "main thread" RUNNING {10005004F3}>> T NIL)
24: ((FLET "LAMBDA0" :IN "SYS:SRC;COMPILER;MAIN.LISP"))
25: ((FLET SB-C::WITH-IT :IN SB-C::%WITH-COMPILATION-UNIT))
26: (SB-C::SUB-COMPILE-FILE #<SB-C::SOURCE-INFO {10014E9533}> NIL)
27: (COMPILE-FILE "/tmp/example3.lisp" :OUTPUT-FILE NIL :VERBOSE NIL :PRINT NIL :EXTERNAL-FORMAT :DEFAULT :TRACE-FILE NIL :BLOCK-COMPILE NIL :EMIT-CFASL NIL)
28: (SB-INT:SIMPLE-EVAL-IN-LEXENV (COMPILE-FILE "/tmp/example3.lisp") #<NULL-LEXENV>)
29: (SB-INT:SIMPLE-EVAL-IN-LEXENV (PROGN (PRINT *FEATURES*) (COMPILE-FILE "/tmp/example3.lisp")) #<NULL-LEXENV>)
30: (EVAL (PROGN (PRINT *FEATURES*) (COMPILE-FILE "/tmp/example3.lisp")))
31: (SB-IMPL::PROCESS-EVAL/LOAD-OPTIONS ((:EVAL . "(progn (print *features*) (compile-file \"/tmp/example3.lisp\"))")))
32: (SB-IMPL::TOPLEVEL-INIT)
33: ((FLET SB-UNIX::BODY :IN SAVE-LISP-AND-DIE))
34: ((FLET "WITHOUT-INTERRUPTS-BODY-14" :IN SAVE-LISP-AND-DIE))
35: ((LABELS SB-IMPL::RESTART-LISP :IN SAVE-LISP-AND-DIE))
|#
7de8d2c017fcaf2 1750ab551b1d59a 4c4c42d414