[gambit-list] Re: C interface: wrong types generated?

TJay tjay.dreaming at gmail.com
Sat Dec 24 12:41:49 EST 2005


;;; Here it is ;)

;;; Built like this on Linux:
;;;   > /usr/local/Gambit-C/bin/gsc problem.scm
;;;   > gcc -I/usr/local/Gambit-C/include -c problem.c problem_.c
;;; Which gives me the following warnings on gcc 4:  -- gcc version
4.0.2 20050808 (prerelease) (Ubuntu 4.0.1-4ubuntu9)
;;;   problem.c: In function '___H__20_problem_23_0':
;;;   problem.c:133: warning: pointer targets in passing argument 1 of
'glColor3bv' differ in signedness


;; C type, directly lifted from gl.h
(c-declare "typedef   signed char   GLbyte;   /* 1-byte signed */")

;; OpenGL function prototype, placed here directly so as to
;; not required inclusion of gl.h
;;   The original prototype, as it appears in gl.h, has some
;; macros attached to it, to specify "extern", or "__stdcall", etc.
;; I've removed it for the sake of keeping this file simple (and
;; uncluttered with C macros.
(c-declare "void glColor3bv( const GLbyte *v );")

;; Scheme types.
(c-define-type  GLbyte    signed-char)
(c-define-type  GLbyte*   (pointer GLbyte))

;; Problem.
(define glColor3bv
  (c-lambda (GLbyte*) void "glColor3bv"))



More information about the Gambit-list mailing list