Custom Query (1030 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (154 - 156 of 1030)

Ticket Resolution Summary Owner Reporter
#255 fixed CCL does not do sufficient compile time argument list checking Gary Byers Hans Hübner
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 Gary Byers Hans Hübner
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 Gary Byers Scott Bell
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: "
Batch Modify
Note: See TracBatchModify for help on using batch modify.
Note: See TracQuery for help on using queries.