Diff for /gforth/libcc.fs between versions 1.12 and 1.13

version 1.12, 2007/04/25 22:11:29 version 1.13, 2007/05/28 09:43:34
Line 333  create gen-wrapped-types Line 333  create gen-wrapped-types
 : gen-wrapper-function ( addr -- )  : gen-wrapper-function ( addr -- )
     \ addr points to the return type index of a c-function descriptor      \ addr points to the return type index of a c-function descriptor
     dup { descriptor }      dup { descriptor }
     c@+ { ret } count 2dup { d: pars } chars + count { d: c-name }      count { ret } count 2dup { d: pars } chars + count { d: c-name }
     ." void " descriptor wrapper-function-name 2dup type drop free throw      ." void " descriptor wrapper-function-name 2dup type drop free throw
     .\" (void)\n"      .\" (void)\n"
     .\" {\n  Cell MAYBE_UNUSED *sp = gforth_SP;\n  Float MAYBE_UNUSED *fp = gforth_FP;\n  "      .\" {\n  Cell MAYBE_UNUSED *sp = gforth_SP;\n  Float MAYBE_UNUSED *fp = gforth_FP;\n  "
Line 413  s" Library not found" exception constant Line 413  s" Library not found" exception constant
     create parse-name open-lib dup 0= err-nolib and throw ,      create parse-name open-lib dup 0= err-nolib and throw ,
   does> ( -- lib )    does> ( -- lib )
     @ ;      @ ;
   
 \ test  
   
 \ test all parameter and return types  
   
 \ cr .( #include "engine/libcc.h")  
 \ cr .( #include <unistd.h>)  
 \ cr ." typedef void (* func)(int);  
 \ cr ." int test1(int,char*,long,double,void (*)(int));"  
 \ cr ." Cell *test2(void);"  
 \ cr ." int test3(void);"  
 \ cr ." float test4(void);"  
 \ cr ." func test5(void);"  
 \ cr ." void test6(void);"  
 \ cr  
   
 \ c-function dlseek lseek n d n -- d  
 \ c-function n test1 n a d r func -- n  
 \ c-function a test2 -- a  
 \ c-function d test3 -- d  
 \ c-function r test4 -- r  
 \ c-function func test5 -- func  
 \ c-function void test6 -- void  
   
 \c #include <string.h>  
 \c #include <stdlib.h>  
   
 c-function strlen strlen a -- n  
 c-function labs labs n -- n  
   
 cr s\" fooo\0" 2dup dump drop .s strlen cr .s drop cr   
 -5 labs .s drop cr  

Removed from v.1.12  
changed lines
  Added in v.1.13


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>