Bug#462088: clisp: create C files with missing includes

2008-07-15 Thread Sam Steingold
I cannot try this because I do not have ordrules.h, but I don't see how 
this can happen: the line


register_foreign_inttype("tcflag_t",sizeof(tcflag_t),(tcflag_t)-1<=(tcflag_t)0);

is generated by

(def-c-type tcflag_t)

and there is no such line in the lisp file you attach.

please file a clisp bug report, see 
http://clisp.cons.org/impnotes/faq.html#faq-bugs


thanks.




--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#462088: clisp: create C files with missing includes

2008-01-22 Thread Jörg Sommer
Package: clisp
Version: 1:2.43-1
Severity: normal

Hi,

a C file created with “clisp -q -norc -c ordrulei.lsp” (the source file
ordrulei.lsp is attached to this mail) includes the references to some
types they are not available. I think includes for them are missing.

void module__ordrulei__init_function_1 (module_t* module)
{
  
register_foreign_inttype("tcflag_t",sizeof(tcflag_t),(tcflag_t)-1<=(tcflag_t)0);
  register_foreign_inttype("speed_t",sizeof(speed_t),(speed_t)-1<=(speed_t)0);
  register_foreign_inttype("cc_t",sizeof(cc_t),(cc_t)-1<=(cc_t)0);
…
  
register_foreign_inttype("__ipc_pid_t",sizeof(__ipc_pid_t),(__ipc_pid_t)-1<=(__ipc_pid_t)0);
…
  
register_foreign_inttype("ptrdiff_t",sizeof(ptrdiff_t),(ptrdiff_t)-1<=(ptrdiff_t)0);
}

This leads to the following build error:

/usr/lib/clisp-2.43/clisp-link add-module-set ordrules /usr/lib/clisp-2.43/full 
xindy-build-dir
make[1]: Entering directory `/home/joerg/git/debian/xindy/rte/ordrules'
gcc -g -O2 -Igllib -W -Wswitch -Wcomment -Wpointer-arith -Wimplicit 
-Wreturn-type -Wmissing-declarations -Wno-sign-compare -O2 -DUNICODE 
-DDYNAMIC_FFI -DDYNAMIC_MODULES -I. -fPIC -I/usr/lib/clisp-2.43/linkkit -c 
ordrulei.c
ordrulei.c: In function ‘module__ordrulei__init_function_1’:
ordrulei.c:24: error: ‘tcflag_t’ undeclared (first use in this function)
ordrulei.c:24: error: (Each undeclared identifier is reported only once
ordrulei.c:24: error: for each function it appears in.)
ordrulei.c:24: error: expected ‘)’ before numeric constant
ordrulei.c:25: error: ‘speed_t’ undeclared (first use in this function)
ordrulei.c:25: error: expected ‘)’ before numeric constant
ordrulei.c:26: error: ‘cc_t’ undeclared (first use in this function)
ordrulei.c:26: error: expected ‘)’ before numeric constant
ordrulei.c:43: error: ‘__ipc_pid_t’ undeclared (first use in this function)
ordrulei.c:43: error: expected ‘)’ before numeric constant
ordrulei.c:46: error: ‘ptrdiff_t’ undeclared (first use in this function)
ordrulei.c:46: error: expected ‘)’ before numeric constant
make[1]: *** [ordrulei.o] Fehler 1
make[1]: Leaving directory `/home/joerg/git/debian/xindy/rte/ordrules'
make: *** [xindy-build-dir] Fehler 2

Bye, Jörg.

-- System Information:
Debian Release: unstable/experimental
  APT prefers unstable
  APT policy: (900, 'unstable'), (700, 'experimental')
Architecture: powerpc (ppc)

Kernel: Linux 2.6.24-rc6
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages clisp depends on:
ii  common-lisp-controller6.12   Common Lisp source and compiler ma
ii  libc6 2.7-6  GNU C Library: Shared libraries
ii  libdb4.6  4.6.21-5   Berkeley v4.6 Database Libraries [
ii  libice6   2:1.0.4-1  X11 Inter-Client Exchange library
ii  libncurses5   5.6+20080105-1 Shared libraries for terminal hand
ii  libreadline5  5.2-3  GNU readline and history libraries
ii  libsigsegv0   2.5-1  Library for handling page faults i
ii  libsm62:1.0.3-1+b1   X11 Session Management library
ii  libx11-6  2:1.0.3-7  X11 client-side library
ii  libxau6   1:1.0.3-2  X11 authorisation library
ii  libxext6  1:1.0.3-2  X11 miscellaneous extension librar
ii  libxpm4   1:3.5.7-1  X11 pixmap library

clisp recommends no packages.

-- no debconf information
;; $Id: ordrulei.lsp,v 1.5 2005/05/02 21:39:53 jschrod Exp $
;; 

;;;
;;; Interface definition of the ordrules module
;;;

(defpackage :ordrules
  (:use :cl :ffi)
  (:export :initialize
   :add-keyword-sort-rule :add-keyword-merge-rule
   :gen-keyword-sortkey :gen-keyword-mergekey))

(in-package :ordrules)

(c-lines "#include \"ordrules.h\"~%")

; Common OS definitions:
(def-c-type size_t uint)

(def-c-var *string-buffer*
(:name "ordrules_string_buffer")
(:type (c-array char 1024))
(:alloc :NONE))

(def-c-var *string-buffer-used-bytes*
(:name "ordrules_string_buffer_used_bytes")
(:type int)
(:alloc :NONE))

(def-c-var *string-buffer-used-bytes*
(:name "ordrules_string_buffer_used_bytes")
(:type int)
(:alloc :NONE))

(def-c-var *message-logging*
(:name "ordrules_msg_logging")
(:type int)
(:alloc :NONE))

(def-c-var *message-buffer*
(:name "ordrules_msg_buffer")
(:type c-string)
(:alloc :NONE))

(def-c-var *message-buffer-ptr*
(:name "ordrules_msg_buffer_ptr")
(:type int)
(:alloc :NONE))

(def-call-out initialize
(:language :stdc)
(:name "initialize")
(:arguments (num-sort-tables int))
(:return-type int))

(def-call-out add-keyword-sort-rule
(:language :stdc)
(:name "add_sort_rule")
(:arguments (run int)
(left c-string)
(right c-string)
(isreject int)