Diff for /gforth/libcc.fs between versions 1.67 and 1.70

version 1.67, 2010/12/31 18:09:02 version 1.70, 2012/03/22 16:27:11
Line 1 Line 1
 \ libcc.fs      foreign function interface implemented using a C compiler  \ libcc.fs      foreign function interface implemented using a C compiler
   
 \ Copyright (C) 2006,2007,2008,2009,2010 Free Software Foundation, Inc.  \ Copyright (C) 2006,2007,2008,2009,2010,2011 Free Software Foundation, Inc.
   
 \ This file is part of Gforth.  \ This file is part of Gforth.
   
Line 466  create gen-wrapped-types Line 466  create gen-wrapped-types
     \ 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 }
     count { ret } count 2dup { d: pars } chars + count { d: c-name }      count { ret } count 2dup { d: pars } chars + count { d: c-name }
     ." void " lib-modulename 2@ type ." _LTX_" descriptor wrapper-function-name 2dup type drop free throw      ." void "
       [ lib-suffix s" .la" str= [IF] ] lib-modulename 2@ type ." _LTX_" [ [THEN] ]
       descriptor wrapper-function-name 2dup type drop free throw
     .\" (GFORTH_ARGS)\n"      .\" (GFORTH_ARGS)\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  "
     pars c-name 2over count-stacks ret gen-wrapped-stmt .\" ;\n"      pars c-name 2over count-stacks ret gen-wrapped-stmt .\" ;\n"
Line 510  create gen-wrapped-types Line 512  create gen-wrapped-types
     2over s+ 2swap drop free throw ;      2over s+ 2swap drop free throw ;
   
 : open-wrappers ( -- addr|0 )  : open-wrappers ( -- addr|0 )
     lib-filename 2@ s" .la" s+      lib-filename 2@ lib-suffix s+
     2dup libcc-named-dir string-prefix? if ( c-addr u )      2dup libcc-named-dir string-prefix? if ( c-addr u )
         \ see if we can open it in the path          \ see if we can open it in the path
         libcc-named-dir nip /string          libcc-named-dir nip /string
Line 659  DEFER compile-wrapper-function ( -- ) Line 661  DEFER compile-wrapper-function ( -- )
     \G specified stack effect and calls the C function @code{c-name}.      \G specified stack effect and calls the C function @code{c-name}.
     ['] parse-function-types (c-function) ;      ['] parse-function-types (c-function) ;
   
 : c-value ( "forth-name" "c-name" "[---]" "type" -- ) \ gforth  : c-value ( "forth-name" "c-name" "---" "type" -- ) \ gforth
     \G Define a Forth word @i{forth-name}.  @i{Forth-name} has the      \G Define a Forth word @i{forth-name}.  @i{Forth-name} has the
     \G specified stack effect and gives the C value of @code{c-name}.      \G specified stack effect and gives the C value of @code{c-name}.
     ['] parse-value-type (c-function) ;      ['] parse-value-type (c-function) ;

Removed from v.1.67  
changed lines
  Added in v.1.70


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