Ticket #1107 (closed defect: fixed)
"Registers clobbered" error
|Reported by:||matt.kaufmann||Owned by:|
The attached file produces an error in CCL, startup banner:
Welcome to Clozure Common Lisp Version 1.10-dev-r15881M-trunk (LinuxX8664)!
The error message is as shown below.
% /projects/acl2/lisps/ccl/ccl-15881 Starting 64-bit CCL Welcome to Clozure Common Lisp Version 1.10-dev-r15881M-trunk (LinuxX8664)! ? (load "bug.lisp") > Error: Registers clobbered applying G to (3) > save0 sb: NIL, Was: 4 > save1 sb: #1=(NIL), Was: #1# > save2 sb: *SAVE-SOURCE-LOCATIONS*, Was: *SAVE-SOURCE-LOCATIONS* > save3 sb: #2=#<CCL::LEXICAL-ENVIRONMENT #x302000496AAD>, Was: #2# > > While executing: (:INTERNAL CCL::WITH-COMPILATION-UNIT-BODY CCL::LOAD-FROM-STREAM), in process listener(1). > Type :POP to abort, :R for a list of available restarts. > Type :? for other options. 1 >
Perhaps this related to CCL's optimized handling of CASE expressions in some situations; for example, changing 2 to 8 in this example makes the problem disappear.
By the way, I tried it on a Mac too, with a slightly older version of CCL and got a similar error. Startup banner there was:
Welcome to Clozure Common Lisp Version 1.10-dev-r15835M-trunk (DarwinX8664)!