Custom Query (1030 matches)
Results (154 - 156 of 1030)
| Ticket | Resolution | Summary | Owner | Reporter |
|---|---|---|---|---|
| #255 | fixed | CCL does not do sufficient compile time argument list checking | ||
| Description |
With normal compilation setting, CCL does not detect that the argument list supplied when invoking a function is invalid. Under certain circumstances that I have not yet isolated, CCL creates the error message "Function call arguments don't match current definition of <function>" when it finds invalid arguments. This is better, but still very unspecific, and makes locating errors harder than one would wish for. As in: foo.lisp: (defun foo (&key a) (declare (ignore a))) (defun bar () (foo :b 2)) Compiled with CCL: paracetamol 25_> ccl -n -e '(compile-file "/tmp/foo.lisp")' -e '(quit)' paracetamol 26_> SBCL generates useful output: paracetamol 26_> sbcl --no-userinit --eval '(compile-file "/tmp/foo.lisp")' --e val '(quit)' This is SBCL 1.0.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. ; compiling file "/tmp/foo.lisp" (written 12 MAR 2008 11:50:55 AM): ; compiling (DEFUN FOO ...) ; compiling (DEFUN BAR ...) ; file: /tmp/foo.lisp ; in: DEFUN BAR ; (FOO :B 2) ; ; caught STYLE-WARNING: ; :B is not a known argument keyword. ; ; compilation unit finished ; caught 1 STYLE-WARNING condition ; /tmp/foo.fasl written ; compilation finished in 0:00:00 as does cmucl (no suprise, but still) netzhansa 5_> lisp -eval '(compile-file "/tmp/foo.lisp")' -eval '(quit)' ; Python version 1.1, VM version Intel x86 on 12 MAR 08 01:01:34 pm. ; Compiling: /tmp/foo.lisp 12 MAR 08 01:01:00 pm ; Converted FOO. ; Compiling DEFUN FOO: ; ; ; File: /tmp/foo.lisp ; In: DEFUN BAR ; (FOO :B 2) ; Warning: :B is not a known argument keyword. ; ; Converted BAR. ; Compiling DEFUN BAR: ; Byte Compiling Top-Level Form: ; Compilation unit finished. ; 1 warning ; /tmp/foo.x86f written. ; Compilation finished in 0:00:01. netzhansa 6_> As does CLISP: paracetamol 29_> clisp -x '(compile-file "/tmp/foo.lisp")'
i i i i i i i ooooo o ooooooo ooooo ooooo
I I I I I I I 8 8 8 8 8 o 8 8
I \ `+' / I 8 8 8 8 8 8
\ `-+-' / 8 8 8 ooooo 8oooo
`-__|__-' 8 8 8 8 8
| 8 o 8 8 o 8 8
------+------ ooooo 8oooooo ooo8ooo ooooo 8
Welcome to GNU CLISP 2.44 (2008-02-02) <http://clisp.cons.org/>
Copyright (c) Bruno Haible, Michael Stoll 1992, 1993
Copyright (c) Bruno Haible, Marcus Daniels 1994-1997
Copyright (c) Bruno Haible, Pierpaolo Bernardi, Sam Steingold 1998
Copyright (c) Bruno Haible, Sam Steingold 1999-2000
Copyright (c) Sam Steingold, Bruno Haible 2001-2008
Type :h and hit Enter for context help.
;; Compiling file /tmp/foo.lisp ...
WARNING in BAR in line 2 :
keyword :B is not allowed for function FOO.
The only allowed keyword is :A.
[FOO was defined in line 1]
;; Wrote file /tmp/foo.fas
0 errors, 1 warning
#P"/tmp/foo.fas" ;
1 ;
1
Bye.
paracetamol 30_>
|
|||
| #299 | invalid | CCL does not resolve forward-referenced accessors defined by defstruct in the same compilation unit | ||
| Description |
When compiling a file that uses a setf accessor defined by defstruct before the defstruct is seen, CCL fails to resolve the reference. hertha 322_> cat foo.lisp
(defpackage "FOO" (:use "CL"))
(in-package "FOO")
(defun test ()
(let ((tpl (make-template :mode 1)))
(setf (template-mode tpl) 2)
(template-mode tpl)))
(defstruct template mode)
hertha 323_> ccl -n
Welcome to Clozure Common Lisp Version 1.2-r9260M-trunk (DarwinPPC32)!
? (load (compile-file "foo.lisp"))
;Compiler warnings for "/private/tmp/foo.lisp" :
; In FOO::TEST: Undefined function SETF::|FOO::TEMPLATE-MODE|
#P"/private/tmp/foo.dfsl"
|
|||
| #635 | fixed | CCL enters kernel debugger during recompilation of system | ||
| Description |
Platform: Mac OS X 10.6.2 (dx86cl64) Version: 1.4-dev-r12860M-trunk Error message: "? Can't determine state of thread 0x147a50, interrupted during memory allocation ? for help [672] Clozure CL kernel debugger: " I am able to fairly consistently enter the kernel debugger by re- loading my current ASDF system (a multi-threaded web server app) and reading ~150MB data from disk into a bunch of vectors. This is done within a SLIME session. This issue did not seem to come up when running CCL (1.4 and trunk) under 10.5. Show output from the debugger: "[672] Clozure CL kernel debugger: B current thread: tcr = 0x14a9d0, native thread ID = 0x19ae23, interrupts disabled Bogus frame 3217cb0 [672] Clozure CL kernel debugger: T Current Thread Context Record (tcr) = 0x14a9d0 Control (C) stack area: low = 0xb15d7000, high = 0xb183b000 Value (lisp) stack area: low = 0x3007000, high = 0x3218000 Exception stack pointer = 0x2bcfb98 [672] Clozure CL kernel debugger: R %rax = 0x0000000000000536 %r8 = 0x00003000406eac8d %rcx = 0x0000000000000040 %r9 = 0x0000000000000000 %rdx = 0x0000000000000023 %r10 = 0x00003000406eacf4 %rbx = 0x00003000406ea9de %r11 = 0x0000000000147a50 %rsp = 0x0000000002bcfb98 %r12 = 0x0000300040717abe %rbp = 0x0000000002bcfbd8 %r13 = 0x00003000406eacbf %rsi = 0x0000000002ce1750 %r14 = 0x000030004b61cf7d %rdi = 0xfffffffffffffff8 %r15 = 0x000030004071632e %rip = 0x00003000406ead10 %rflags = 0x00000216 [672] Clozure CL kernel debugger: L %rsi (arg_z) = 5882602 %rdi (arg_y) = -1 %r8 (arg_x) = #(:TYPE :ARG :FRAG :POS) ------ %r13 (fn) = #<Function MAKE-RELOC #x00003000406EACBF> ------ %r15 (save0) = :LONG %r14 (save1) = #<(#<(CLASS-CELL . #<# @#x00003000401EBBAD>) @#x000030004028621D> #<(CLASS-CELL . #<# @#x00003000401EBBAD>) @#x000030004028742D>) @#x000030004B61CF7D> %r12 (save2) = :EXPR32 %r11 (save3) = 167754 ------ %rbx (temp0) = MAKE-RELOC %r9 (temp1) = 0 %r10 (temp2) = tagged return address: #<Function MAKE-RELOC #x00003000406EACBF> + 53 ------ %rcx (nargs) = 8 (maybe) [672] Clozure CL kernel debugger: F f00: 0x00000000 (0.000000e+00), 0x0000000000000000 (0.000000e+00) f01: 0x428d2d2d (7.058823e+01), 0x00000000428d2d2d (5.516482e-315) f02: 0x00000000 (0.000000e+00), 0x0000000000000000 (0.000000e+00) f03: 0x00000000 (0.000000e+00), 0x0000000000000000 (0.000000e+00) f04: 0x00000000 (0.000000e+00), 0x0000000000000000 (0.000000e+00) f05: 0x72657355 (4.544736e+30), 0x63732f7372657355 (1.158477e+171) f06: 0x00000000 (0.000000e+00), 0x0000000000000000 (0.000000e+00) f07: 0xfefa39ef (-1.663039e+38), 0x3fe62e42fefa39ef (6.931472e-01) f08: 0x00000000 (0.000000e+00), 0x0000000000000000 (0.000000e+00) f09: 0x00000000 (0.000000e+00), 0x0000000000000000 (0.000000e+00) f10: 0x00000000 (0.000000e+00), 0x0000000000000000 (0.000000e+00) f11: 0x00000000 (0.000000e+00), 0x0000000000000000 (0.000000e+00) f12: 0x00000000 (0.000000e+00), 0x0000000000000000 (0.000000e+00) f13: 0x00000000 (0.000000e+00), 0x0000000000000000 (0.000000e+00) f14: 0x00000000 (0.000000e+00), 0x0000000000000000 (0.000000e+00) f15: 0x00000000 (0.000000e+00), 0x0000000000000000 (0.000000e+00) mxcsr = 0x00001920 [672] Clozure CL kernel debugger: " |
|||
